我使用的貓鼬與Express.js查詢貓鼬:與DATAS的陣列,並返回單個陣列
我有2個類別:
一)收集的模式
- 用戶id
- carId
ii)Collection B Schema
- carId
- carName
在集合的,我會存儲用戶多少輛車有 例如:如果用戶XYZ,有2輛車,我將創建2個文件,每一個獨特的車ID
當一個REST get方法被調用時,我想用userID,carID和carName返回。
但是,我有問題查詢多個集合並將它們合併爲一個結果!
我現在的方法行不通,由於代碼的異步:
var totalCar = []
CollectionA.find({
userId: userId
}, function(err, data){
/*Wrong code here, how to fix it?????
for(var i = 0; i < data.length; i++){
CollectionB.find({
}, function(err, car){
totalCar.push(car.carName)
})
}*/
res.json({
userId: userId,
car: totalCar
})
})
如何從另一個集合查詢,查詢內部,同時從另一個集合合併這些查詢到一個結果,併發送給用戶?
的感謝!只是爲了與您覈對,是不是使用$ in將在同步模式下查詢?你的意思是在異步模式下進行查詢>使用github中的模塊? – Tim 2014-09-05 02:32:24
mongodb的回調總是異步的。通過使用「異步」模塊,它可以幫助您使代碼看起來像同步。 – Comtaler 2014-09-09 16:56:11