mongoose本身可以promise,那就可以这样写了:varresult;corpus.findbyid(corpusid).populate('article').exec().then(function(corpus){result=corpus;returncorpus.article。
- 情感问答
- 答案列表
mongoose查询:mongoose web[朗读]
我也遇到了这个问题,考虑到之前刚刚添加了一些web组件,可能造成了引用混乱,找到bin文件夹,将之前添加的文件剪切到另外一个新文件夹备份.然后重新生成项目,问题解决了。
到网上营业厅www.10010.com。
区别在于:mongoose的所有查询操作返回的结果都是query(官方文档是这样写的),并非一个完整的promise.而加上.exec()则将会返回成为一个完整的promise对象,但是其是mongoose自行封装的promise,与es6标准的promise是有所出入的(你应该会在控制台看到相关的警告),而且官方也明确指出,在未来的版本将会废除自行封装的promise,改为es6标准,因此建议楼主在使用过程中替换为es6的promise,如下:constmongoose=require('mongoose');mongoose.promise=global.promise。
关键字段必须要非空.空值有时候是有用的,比如可以简单判断该值是否为有效值.但是有时空值会造成错误,一个空值数据没有任何类型,执行某些运算或显示时会出错.所以,根据您的需要和习惯,来决定是否全部设置为非空.对于有空值的字段。