Mongoose:如何循环遍历包含对象引用(_id)的数组
mongoose: how to loop through an array containing object references (_id)
我有一个meanjs项目,我从服务器上的用户获得一些输入,请求体具有以下结构:
{
transaction: {
heading: '',
items: [Object]
},
something: {},
somethingAgain: {}
}
items数组的结构如下-
[ { ref: '5607c6536e67edb44a6a8186',
name: '',
quantity: 0,
discount: 0,
cost: 180 } ]
,其中ref
是item模型中项目的_id
值。所以,基本上我想做的是循环遍历数组的项目,并填充每个ref的属性,并相应地计算每个项目的cost
属性。我不能使用一个简单的for循环,因为它会执行自己之前,甚至第一次异步调用mongodb找到项目完成。那么,如何解决这个问题呢?请建议。
所以,给问题-添加更多信息我的服务器端控制器代码接收请求如下-
exports.create = function (req, res) {
console.log(req.body.transaction.items);
Sale.create(req.body, function (err, sale) {
if (err) {
return handleError(res, err);
}
return res.json(201, sale);
});
};
,项目的日志输出如上面所示。所以我在这里要做的是遍历items数组并找到ref
与items集合匹配的项目。
如果我理解正确,我建议使用Kris Kowal的q。它是一个小的promise库,可以与node一起使用。Angular的$q就是基于它的。下面是一个例子:
function(req, res){
var calls = [];
calls.push(Collection1.save());
calls.push(Collection2.save());
calls.push(Collection3.save());
q.all(calls).then(function(call1res, call2res, call3res){
res.json({whaterver:''});
});
}
相关文章:
- 如何使用object.assign()从其他对象引用基本对象属性
- 通过知道对象的id在JSON中查找对象
- 返回 JavaScript 类值而不是对象引用
- Facebook:当发布期望对象引用时显示打开的图形对话框
- 如何查找流星集合中最后一个元素/对象的id
- Javascript-如何从字符串/对象引用回调
- 将其用于对象引用
- 如何将对象引用传递到 mootools 中另一个对象的构造函数中
- Javascript:将类/对象引用设置为 NULL,内存中的子对象/类会发生什么
- 在 Jquery 中,我可以存储对象引用并在以后使用它吗?
- 将对象函数传递给请求动画帧时丢失对象引用
- JavaScript ecma6中的对象引用
- 在JSON中存储对象引用
- 使用MeteorJS堆栈,如何使用对象的id返回该对象的属性
- 为什么可以在内部函数成员中访问对象引用,而不能在内部属性成员中访问
- 如何在另一个视图中获取元素的引用id-UI5
- 对象引用的隐式传递是如何工作的
- 按对象的 ID 删除对选定对象的对象引用
- 使用cookie读取html对象的id
- Knockoutjs引用ID中的对象