Mongoose noob问题:我有两个Mongoose ObjectId对象列表,我合并为一个。一些ObjectIds是重复的,我不想将它们保存到我的数据库中。是否有一个猫鼬工具可以帮助我对ObjectIds进行数据操作,并使用唯一的ID返回列表?如果没有,写这个的最佳方式是什么?如果有帮助的话,我已经安装了lodash。
答案 0 :(得分:0)
您可以使用此代码段获取唯一元素。我不知道任何内置的mongoose功能(您可以尝试unique: true
选项进行架构定义,但我不确定这是否适合您)。
var unique = [], tempObj = {};
objectIdsArray.forEach(function (val) {
var stringified = val.toString();
if (!tempObj[stringified]) {
unique.push(val);
tempObj[stringified] = val;
}
});
答案 1 :(得分:0)
我不知道这是否是最佳的,但您可以使用lodash
uniq
方法获取重复的免费数组。我想这个例子对你有帮助。
_.uniq([1, 2, 1]);
// → [1, 2]
您可以阅读更多lodash uniq.