簡體   English   中英

Mongoose / MongoDB - 如何使用聚合查詢的promise

[英]Mongoose/MongoDB - How to use promise with aggregate queries

我試圖通過mongoose對MongoDB中的2個不同集合執行2個查詢,然后將它們的結果組合成REST API響應。

例:

var result1 = Model1.aggregate([<operations here>]).exec()

var result2 = Model2.aggregate([<operations here>]).exec()

var allDone = Promise.all(result1,result2)

allDone.then(function(data1,data2){
//Do something with both data
})

我得到這個錯誤TypeError:無法讀取未定義的屬性'readPreference'

當回調的函數簽名不是函數時,以前會發生這種情況(錯誤,文檔){...

如果我使用Aggregators的回調,它可以工作,但我不想鏈接回調/查詢,並認為這樣會更有效。

我發現這個Mongoose聚合游標承諾

但想知道這是否可能以更簡單的方式使用原生承諾。 我也不想像上面的答案中所解釋的那樣迭代光標。

var allDone = Promise.all(result1,result2) 

本來應該

var allDone = Promise.all([result1,result2])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM