mongoose 各种执行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongoose 各种执行相关的知识,希望对你有一定的参考价值。
mongoose各种写法比较,以User模型查询为例进行
第一种写法
//findone两个参数,第一个参数是查询的条件,第二个参数是查询的返回结果,结果中有两个参数分别是错误的反馈,和正确的返回结果。 User.findOne({id:id},(err,doc)=>{ })
第二种写法
//直接查询,then之后返回两个Promise函数,第一个是then之前的事件如果成功执行,第二个是失败执行。 User.findOne({id:id}).then(res=>{ })
多条件查询适合用then
router.get(‘/article/getlist‘, (req, res) => { Article.find().sort({_id:-1}).populate(‘category‘).then(doc => { res.send(doc) }) })
用exec()分开写
// 可以先定义条件,链式写法 var goodsModel = Goods.find(params).limit(pageSize).skip(skip); // 第一次定义之后依然可以链式继续定义 goodsModel.sort({ ‘salePrice‘: sort }); // 最后用exec()执行。 goodsModel.exec(function (err, doc) { if (err) { res.json({ status: ‘1‘, msg: err.message }) } else { res.json({ status: ‘0‘, msg: ‘‘, }) } })
如果是连续两个或者多个then
查询首次执行then,默认遵守promise规则,但是从第二个开始的then,你必须手动返回一个成功或者失败的promise执行 return Promise.reject(),来指定执行then后的第一个还是第二个。
以上是关于mongoose 各种执行的主要内容,如果未能解决你的问题,请参考以下文章
Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段
vbscript 各种自定义代码片段 - 有关详细信息,请参阅注释
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段