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。
關鍵欄位必須要非空.空值有時候是有用的,比如可以簡單判斷該值是否為有效值.但是有時空值會造成錯誤,一個空值數據沒有任何類型,執行某些運算或顯示時會出錯.所以,根據您的需要和習慣,來決定是否全部設置為非空.對於有空值的欄位。