2016-04-28 19 views
0
var exist_item = []; 
$scope.Items.ForEach(function(item){ 
    Item.findOne({"_id":item.id}, function(err,response){ 
    exist_item.push(response.id); 
    }); 
}); 

我只是觉得不好写这种代码,我觉得有一个更好的方法,如果多个项目在MongoDB中或moongse存在我能怎么办检查。检查项目MongoDB中存在(多次查询)

+0

也许你想看看asnyc.js – Jennifer

回答

1

可以使用$in操作为:

var existingItems; 
var ids = $scope.Items.map(item => item.id); 

Item.find({ _id: { $in: ids }}, (err, results) => { 
    if (err) { 
     // TODO: process error 
    } 
    existingItems = results.map(item => item._id); 
}); 
+0

是'ids'阵列?格式是什么? –

+0

yes,'Array.map'返回一个数组,结果'$ scope.Items.map(item => item.id)'是一个ID数组:'[id1,id2,id3,...]', – alexmac

+0

我可以在这里做条件吗?就像找到这个用户的ID和他的物品一样。 –