2016-04-28 45 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和他的物品一樣。 –