mongoose学习笔记

首先是基础crud操作

查询

简单查询

mongoose:

Model.findOne({ age: 5}, function (err, doc){
  // doc 是单个文档
});

条件查询

  • (>) 大于 - $gt
  • (<) 小于 - $lt
  • (>=) 大于等于 - $gte
  • (<= ) 小于等于 - $lte

mongodb语法:

db.col.find({"key" : {$gt : 100}})

类似于

Select * from col where key > 100;

mongoose语法:

比较特殊,有两种模式,参考官方文档

  • With a JSON doc 模式
Person.find({
    occupation: /host/,   //正则表达式
    'name.last': 'Ghost',
    age: { $gt: 17, $lt: 66 }, //条件查询-大于小于
    likes: { $in: ['vaporizing', 'talking'] } //条件查询-likes字段是否属于数组
  })
.skip(10) //跳过10条
.limit(10) //查询10条
.sort({ occupation: -1 }) //排序:以occupation字段降序
.select({ name: 1, occupation: 1 }) 
.exec(callback);
  • Using query builder模式
Person
.find({ occupation: /host/ })
.where('name.last').equals('Ghost')
.where('age').gt(17).lt(66)
.where('likes').in(['vaporizing', 'talking'])
.limit(10)
.sort('-occupation')
.select('name occupation')
.exec(callback);

插入

mongoose语法:

let mailCode = new Model({
          code:code,
          email:email,
          time:moment().format('YYYY-MM-DD HH:mm:ss'),
          timestamp:moment().format("X")//时间戳
        });
await mailCode.save();

更新

mongoose语法:

  • With a JSON doc 模式
Model
. update(查询条件,{ $set: { name: 'jason borne' }},callback)
  • Using query builder模式
Model
.where({a:"a"}) //查询条件 可以使用json模式
.update(新内容,callback)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容