我使用的猫鼬与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