Mongodb查询文档find方法的使用

  1. 连接mongodb
  2. 创建集合规则
  3. 使用集合规则创建集合
  4. 使用find方法查询文档
//1.连接mongodb
//引用第三方模块 mongoose
const mongoose = require('mongoose');
//链接服务器 返回promise 对象
mongoose.connect('mongodb://localhost/api', {
        useUnifiedTopology: true,
        useNewUrlParser: true
    })
    .then(() => console.log('数据库链接成功'))
    .catch((err) => console.log(err));

//2.创建集合规则
const userSchema = new mongoose.Schema({
    name: String,
    age: Number,
    hobbies: Array,
    emaill: String,
    password: String
})

//3.创建集合
const user = mongoose.model('user', userSchema); //couerse

//4.使用find方法查询文档
user.find().then(doc => {
    console.log(doc);
});

find方法返回一个promise对象可以用then方法查看查询结果
结果返回一个数组
在这里插入图片描述
find中的参数

//find中的参数

//参数为空则查询所有文档
user.find().then(doc => {
    console.log(doc);
});
//指定id查询 若该id不存在则返回空数组
user.find({_id:5c09f236aeb04b22f8460967}).then(doc => {
    console.log(doc);
}); 

筛选查询(参数类)

//匹配大于20且小于40的  
//$gt匹配大于 $lt匹配小于
user.find({age:{$gt:20,$lt:35}}).then(doc => {
    console.log(doc);
});

//$in匹配包含 可以是多个项
user.find({hobbies:{$in:['code']}}).then(doc => {
    console.log(doc);
});

//

筛选查询(方法类)
1.select方法查询

//只显示名字和email 前面加个-使他不显示 空格隔开
user.find().select('name email -_id').then(doc => {
    console.log(doc);
});

2.sort 顺序显示

//根据年龄进行排序
user.find().sort('age').then(doc => {
    console.log(doc);
});

3.skip跳过多少数据 limit 限制查询数量

//跳过前两个 只查询两个
user.find().skip(2).limit(2).then(doc => {
    console.log(doc);
});

findOne查询一个文档

`

//findOne返回一条文档 默认返回集合中的第一条
//findOne 返回的是对象  find返回的是数组
user.findOne().then((doc)=>{console.log('doc')});

猜你喜欢

转载自blog.csdn.net/forljnlearning/article/details/106832737