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