我需要将查询结果设置为要保存的对象的数组。
首先我得到物品:
Item.find({...}, function...
看起来像那样:
data =
[ { foo: [],
bar: true,
_id: 564f62b1659abdc22b9dd1da },
{ foo: [],
bar: true,
_id: 564f76b628bd4b62335bad7c } ]
现在我创建一个对象,我希望将查询结果的_ids保存为“Item”引用数组:
var itemholder = new Itemholder(req.body);
itemholder.items = ????
Itemholder有一个名为“items”的“Item”引用数组,它应如下所示:
"items" : [ { "item" : ObjectId("564f62b1659abdc22b9dd1da"),
"_id" : ObjectId("564f54c4e9bbbbee230647a4") },
{ "item" : ObjectId("564f76b628bd4b62335bad7c"),
"_id" : ObjectId("564f67043f88a5b12d6c32ff") } ]
谢谢。
答案 0 :(得分:0)
找到了一种方法(可能不是最好的):
Item.find(..., function(err, data){
if(err){
...
}else{
data = data.map(function(data) { return {'item': data._id}; });
sprint.items = data;
sprint.save(function(err2, data2){
...