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后的第一个还是第二个。

时间: 2024-12-14 16:35:10

mongoose 各种执行的相关文章

mongoose 全面理解

一.创建schemas 创建schemas的方式: 1 var userSchema = new mongoose.Schema({ 2 name: String, 3 email: String, 4 createdOn: Date 5 }); schemas中的数据类型有以下几种:? String? Number? Date? Boolean? Buffer? ObjectId? Mixed? Array 特别需要说明一下ObjectId类型和Mixed类型以及Array类型,在schema

node 通过mongoose实现 mongodb的增删改

node 通过mongoose实现 mongodb的增删改 新建文件test.js 内容如下: var mongoose = require('mongoose') , Schema = mongoose.Schema; mongoose.connect('mongodb://localhost/test'); var BlogSchema = new Schema({ id : {type : Number, index : true} ,title : {type : String} });

Mongoose简单学习笔记

1.1 名词解释 Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力 Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对 Entity : 由Model创建的实体,他的操作也会影响数据库 注意: 1.本学习文档采用严格命名方式来区别不同对象,例如: var PersonSchema; //Person的文本属性 var PersonModel; //Person的数据库模型 var PersonEntity; //Person实体 2.Sch

Mongoose学习参考文档——基础篇

Mongoose学习参考文档 前言:本学习参考文档仅供参考,如有问题,师请雅正 一.快速通道 1.1 名词解释 Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力 Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对 Entity : 由Model创建的实体,他的操作也会影响数据库 注意: 1.本学习文档采用严格命名方式来区别不同对象,例如: var PersonSchema; //Person的文本属性 var PersonModel; //

Mongoose 参考手册

转自:https://cnodejs.org/topic/548e54d157fd3ae46b233502 Mongoose 是什么? 一般我们不直接用MongoDB的函数来操作MongoDB数据库 Mongose就是一套操作MongoDB数据库的接口. Schema 一种以文件形式存储的数据库模型骨架,无法直接通往数据库端,也就是说它不具备对数据库的操作能力.可以说是数据属性模型(传统意义的表结构),又或着是“集合”的模型骨架 /* 定义一个 Schema */ var mongoose =

mongoose 文档(七) Population

在mongoose中没有join但有时我们仍然想引用其他collection的document,population由此而来. population是自动将document中指定path替换为其他collection的document的过程.我们能迁移document.多个document.简单对象.多个简单对象或者是查询返回的所有对象. var mongoose = require('mongoose') , Schema = mongoose.Schema var personSchema

mongoose 文档(四) queries

通过一些model的静态辅助方法可以检索document. 任何 涉及 指定 查询 条件的 model 方法都能通过两个方法执行. 当一个回调函数: 被传递,操作将立即执行,结果传给回调. 没有被传递,返回一个 查询 实例,它提供一个特殊的查询生成接口. 在mongoose 4,Query有 then()函数,因此可以被用来作为一个 promise. 用回调函数执行查询时,将请求指定为JSON 文档.JSON文档的语法和 MongoDB shell 一样. var Person = mongoo

mongoose 文档(一) schemas

1.定义shcema 在mongoose里一切都由schema开始.每一个schema对应一个mongoDB collection 并且在那个collection里面定义了documents的模型. var mongoose = require('mongoose'); var Schema = mongoose.Schema; var blogSchema = new Schema({ title: String, author: String, body: String, comments:

Mongoose(web server)web服务器

来至于维基百科,原地址:http://en.wikipedia.org/wiki/Mongoose_(web_server) Mongoose是一个跨平台的Web服务器.源于Cesanta软件公司. Mongoose在Mongoose嵌入式库之上建立.Mongoose库被用于执行RESTful架构服务,在嵌入式设备上服务网络图形用户界面,创建RPC框架(例如JSON-RPC),处理遥测数据交换,并且在各种不同的行业执行许多其他的任务,包括航空航天.制造业.金融.科研.汽车.游戏.IT. Mong