node.js - Mongoose ObjectId 数组的 Lodash 联合

标签 node.js mongoose union lodash

我有 2 个包含 ObjectId 项的数组:array1 array2

我想在这两个数组之间创建一个并集。为此我正在运行:

let res = _.union(array1, array2);

但是 res 包含重复的 ObjectId。

我该如何解决这个问题?

最佳答案

如果您正在查看两个带有“objectID”字符串的不同数组,您可以使用 concat 然后使用 uniq 来删除重复项。不要忘记在 Lodash 链的末尾运行 valueOf 来调用它来执行。

下面是一个说明性示例:

let array1 = ['42142141221421d', '9999'];

let array2 = ['s421421412412fef3', '42142141221421d', '1234'];

const res = _(array1)
       .concat(array2)
       .uniq()
       .valueOf();

console.log(res);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>

关于node.js - Mongoose ObjectId 数组的 Lodash 联合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46220951/

相关文章:

javascript - Mongodb 返回旧集合

来自同一子查询的列的 SQL 联合为一个

mysql - 合并和求和 SQL 数据库中的数据

node.js - Firebase云功能部署错误

node.js - 无法使用express js在mongodb中一次$push和$set数据

javascript - 无法从 Mongoose 数组中删除元素

sql - SQL 中一列的联合

javascript - 在 findByIdAndDelete 上处理 NodeJS DELETE 端点中的捕获

node.js - NodeJS mongodb查询ERR_HTTP_HEADERS_SENT

node.js - 从 Nodejs 和 Mongoose 中的关注者加载帖子