Model.find

Model.find
Mongoose 模型提供了 find, findOne, 和 findById 方法用于文档查询。

Model.find
Model.find(query, fields, options, callback)// fields 和 options 都是可选参数

简单查询

Model.find({'csser.com':5},function(err, docs){// docs 是查询的结果数组 });

只查询指定键的结果

Model.find({},['first','last'],function(err, docs){// docs 此时只包含文档的部分键值})
Model.findOne
与 Model.find 相同,但只返回单个文档

Model.findOne({ age:5},function(err, doc){// doc 是单个文档});
Model.findById
与 findOne 相同,但它接收文档的 _id 作为参数,返回单个文档。_id 可以是字符串或 ObjectId 对象。

Model.findById(obj._id,function(err, doc){// doc 是单个文档});
Model.count
返回符合条件的文档数。

Model.count(conditions, callback);
Model.remove
删除符合条件的文档。

Model.remove(conditions, callback);
Model.distinct
查询符合条件的文档并返回根据键分组的结果。

Model.distinct(field, conditions, callback);
Model.where
当查询比较复杂时,用 where:

Model.where('age').gte(25).where('tags').in(['movie','music','art']).select('name','age','tags').skip(20).limit(10).asc('age').slaveOk().hint({ age:1, name:1}).run(callback);
Model.$where
有时我们需要在 mongodb 中使用 javascript 表达式进行查询,这时可以用 find({$where : javascript}) 方式,$where 是一种快捷方式,并支持链式调用查询。

Model.$where('this.firstname === this.lastname').exec(callback)
Model.update
使用 update 子句更新符合指定条件的文档,更新数据在发送到数据库服务器之前会改变模型的类型。

var conditions ={ name:'borne'}, update ={ $inc:{ visits:1}}, options ={ multi:true};Model.update(conditions, update, options, callback)
注意:为了向后兼容,所有顶级更新键如果不是原子操作命名的,会统一被按 $set 操作处理,例如:

var query ={ name:'borne'};Model.update(query,{ name:'jason borne'}, options, callback)// 会被这样发送到数据库服务器Model.update(query,{ $set:{ name:'jason borne'}}, options, callback)
查询 API
如果不提供回调函数,所有这些方法都返回 Query 对象,它们都可以被再次修改(比如增加选项、键等),直到调用 exec 方法。

var query =Model.find({});

query.where('field',5);
query.limit(5);
query.skip(100);

query.exec(function(err, docs){// called when the query.complete or query.error are called// internally});

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.express node Web应用框架,提供了很多Web应用和HTTP工具 使用express可以快速搭建一...
    寒梁沐月阅读 3,602评论 2 6
  • 1.express node Web应用框架,提供了很多Web应用和HTTP工具 使用express可以快速搭建一...
    昵称不能太随便阅读 5,145评论 0 2
  • 初学Node.js接触到MongoDB数据库,阅读资料中推荐的都是Mongoose模块,可以更加方便的对数据库进行...
    LnEoi阅读 31,514评论 9 49
  • 参考深入浅出mongoose 连接mongoose mongoose连接数据库有两种方式第一种: 第二种: mon...
    bacbcc94613b阅读 14,223评论 1 27
  • 本文推荐GTD适用的软件,阅读前请先了解GTD概念 GTD是一个较为复杂的概念,真正了解并使用GTD的人,会喜欢他...
    闲者时间_王掌柜阅读 9,354评论 1 7

友情链接更多精彩内容