我试图使用mongoose从MongoDB获取多个对象。我有两个名为user和order的主表。
用户有一个名为订单历史的数组,订单历史包含订单。
当我将订单推送到订单数组时,订单成功推送。但是当我想从循环外部获取命令时,由于循环内部发生了异步操作,我的数组什么都没有。
userModel.findOne({'username': username }, function (err, user) {
if(user){
var orders = []
for(var i=0;i<user.orderHistory.length;i++){
var orderId = user.orderHistory[i].orderId
var order = orderModel.findOne({'id': orderId}).exec()
order.then(function(order){
orders.push(order)
})
}
orders.then(function(order){
console.log(order)
})
}
})
如何在循环之外获得订单?感谢
答案 0 :(得分:2)
改为使用异步功能,每个订单都使用db.returns <- zoo(db.kurs3, order.by = as.Date("1925-01-02") + 0:1456)
。
await