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});
[完]
相关推荐
猫鼬REST API自动生成器从Mongoose模型自动生成REST API。 创建一个热更新服务器,该服务器在模型更新或创建时自动更新。 :warning_selector: 该项目仍处于初期阶段,可能会发生重大变化。开发人员使用创建一个.env...
mongoose-validator, mongoose模型的验证器利用 validator.js Mongoose验证器 的验证器使用了 validator.js 。Mongoose验证器仅仅返回Mongoose样式验证对象,这些对象利用 validator.js 进行数据验证。版本 1.0. x ...
Mongoose的插件,将findOrCreate方法添加到模型中。 该方法将追加一个现有对象或保存一个新对象,具体取决于它是否找到它。 已经有一个,但尚未维护,并且作者未对问题或PR做出回应。 这就是为什么此程序包被称为...
最近在做一个项目涉及到mongoose的关联查询等等,之前做的mysql,postgresql比较多,而mongoose用的都是比较简单的存储数据,简单查询等等。 刚开始涉及ref还是有点小晕的,查询了相关资源,也可以模模糊糊做出来,...
mongoose5.0中文文档,api部分还是英文的。 文字版非扫描,可以ctr+f搜索。 有标签,方便查阅和记笔记。
文档来自 https://mongoose.shujuwajue.com/ 数据库MongoDB框架mongoose中文文档
猫鼬查找和过滤器插件 mongoose-find-and-filter插件是一个插件,它通过过滤和排序功能改进了find方法。 您还可以限制或跳过结果并填充参考。安装 npm install mongoose-find-and-filter --save您可以将此插件用于...
用于创建 RESTful url 路由、呈现表单和处理给定 Mongoose 模型的创建、读取、更新和删除请求的简单生成器 安装 $ npm install crudify-mongoose RESTful 路由 为提供的 Mongoose 模型生成 RESTful url 路由。 您...
Mongoose是一个轻量化的web服务器,通过提供一个web接口给它,它可以嵌入到现有的工程当中。Mongoose的整个代码只有一个c文件和一个h文件,使用起来非常方便。 c++ http通讯 基于mongoose 的httpserver和httpclient...
增加了对与Mongoose模型/文档类似中继的光标分页的支持。 该库还使用MongoDB正则表达式查询提供了预输入(自动完成)功能(具有分页功能)。 此外,您可以选择对Elasticsearch的水合猫鼬模型进行分页。 安装 yarn ...
猫鼬高级加密用于文档字段加密和认证保留功能的Mongoose插件,可查询加密字段。概述该插件为Mongoose文档字段提供加密,哈希(盲索引)和身份验证。 使用AES-256-CBC算法,散列以及使用HMAC-SHA-512身份验证来...
此存储库已移动请使用进行更新,请不要再创建新问题并不再请求请求,谢谢鹅 使用TypeScript类定义Mongoose模型。基本用法import { prop , Typegoose , ModelType , InstanceType } from 'typegoose' ;import * as ...
mongoose 各个版本从mongoose-3.2.tar.gz到mongoose-6.13.tar.gz 轻量 特别适合做嵌入式
mongoose-schema-extend, mongoose架构继承和鉴别器密钥扩展 mongoose-schema-extend实现架构继承和可选鉴别器键,用于存储集合中不同类型的相关文档,并以正确的模型类型获取它们。通知从 0.2.1版本mongoose-schema...
mongoose教程,可以帮助你了解mongoose,mongoose教程,可以帮助你了解mongoose
Mongoose插件,用于测量和记录查询执行时间。 Mongoose执行时间Mongoose插件,用于测量和记录查询执行时间。 npm i mongoose-execution-time输出示例:查询:查找客户完成时间:7 ms {过滤器:{}}查询:查找博客文章...
简单插件,它向模型添加了findOrCreate方法。 这对于需要库很有用。 安装 npm install mongoose-findorcreate 用法 var findOrCreate = require ( 'mongoose-findorcreate' ) var ClickSchema = new Schema ( { .....
mongoose-troop, 用于mongoose架构的插件 Mongoose Troop mongoose的方便插件集合电子邮件内容acl ( 简单访问控制列表)basicAuth插件( 简单身份验证和注册)时间戳( 自动创建和修改时间戳)slugify ( 字符串属性的url...
C语言的JSON解析库:cJSON 1.7.15函数说明 (含 mongoose ,可用于测试POST和GET请求,纯C实现)
非常详细的高清 mongoose 中文教程 一步步教你如何使用