Mongo本身只會返回沒有重複的對象。但是你可以用這些重複的東西來構建一個對象數組。
例如,如果array
是對象的數組回到我的蒙戈 - 在這種情況下:
var array = [{
_id: 'abcd1234',
property1: 'key1',
property2: 'key2'
}];
和ids
是你要與重複的ID清單 - 在你的情況:
var ids = ['abcd1234', 'abcd1234', 'abcd1234'];
那麼你可以做:
var objects = {};
array.forEach(o => objects[o._id] = o);
var dupArray = ids.map(id => objects[id]);
現在dupArray
應該包含具有重複項的對象。
完整的示例:
var ids = ['abcd1234', 'abcd1234', 'abcd1234'];
Schema.find({_id: {$in: ids}}, function (err, array) {
if (err) {
// handle error
} else {
var objects = {};
array.forEach(o => objects[o._id] = o);
var dupArray = ids.map(id => objects[id]);
// here you have objects with duplicates in dupArray:
console.log(dupArray);
}
});
來源
2016-11-21 22:39:40
rsp