MongoDB查找文档

2022-05-23 12:49:56 浏览数 (1)

3、查找文档

代码语言:javascript复制
//  根据条件查找文档(条件为空则查找所有文档)
Course.find().then(result => console.log(result))

// 返回文档集合
[{
    _id: 5c0917ed37ec9b03c07cf95f,
    name: 'node.js基础',
    author: 'wuyuxin‘
},{
     _id: 5c09dea28acfb814980ff827,
     name: 'Javascript',
     author: 'wuyuxin‘
}]
代码语言:javascript复制
//  根据条件查找文档
Course.findOne({name: 'node.js基础'}).then(result => console.log(result))
1
2
// 返回文档
 {
    _id: 5c0917ed37ec9b03c07cf95f,
    name: 'node.js基础',
    author: 'wuyuxin‘
}
代码语言:javascript复制
 //  匹配大于 小于
 User.find({age: {$gt: 20, $lt: 50}}).then(result => console.log(result))
 
  //  匹配包含
User.find({hobbies: {$in: ['敲代码']}}).then(result => console.log(result))

 //  选择要查询的字段  
 User.find().select('name email').then(result => console.log(result))

 // 将数据按照年龄进行排序
 User.find().sort('age').then(result => console.log(result))

 //  skip 跳过多少条数据  limit 限制查询数量
 User.find().skip(2).limit(2).then(result => console.log(result))
代码语言:javascript复制
// 引入mongoose第三方模块 用来操作数据库
const mongoose = require('mongoose');
// 数据库连接
mongoose.connect('mongodb://localhost/playground', { useNewUrlParser: true})
    // 连接成功
    .then(() => console.log('数据库连接成功'))
    // 连接失败
    .catch(err => console.log(err, '数据库连接失败'));

// 创建集合规则
const userSchema = new mongoose.Schema({
    name: String,
    age: Number,
    email: String,
    password: String,
    hobbies: [String]
});

// 使用规则创建集合
const User = mongoose.model('User', userSchema);

// 查询用户集合中的所有文档
// User.find().then(result => console.log(result));
// 通过_id字段查找文档
// User.find({_id: '5c09f267aeb04b22f8460968'}).then(result => console.log(result))

// findOne方法返回一条文档 默认返回当前集合中的第一条文档
// User.findOne({name: '李四'}).then(result => console.log(result))
// 查询用户集合中年龄字段大于20并且小于40的文档
// 1.User.find({age: {$gt: 20, $lt: 40}}).then(result => console.log(result))
// 2.查询用户集合中hobbies字段值包含足球的文档
// User.find({hobbies: {$in: ['足球']}}).then(result => console.log(result))
// 3.选择要查询的字段
// User.find().select('name email -_id').then(result => console.log(result))
// 4.根据年龄字段进行升序排列
// User.find().sort('age').then(result => console.log(result))
// 5.根据年龄字段进行降序排列
// User.find().sort('-age').then(result => console.log(result))
// 查询文档跳过前两条结果 限制显示3条结果
User.find().skip(2).limit(3).then(result => console.log(result))

图依次为为1-5的执行结果

0 人点赞