【发布时间】:2020-12-31 03:35:59
【问题描述】:
我有一个这样的模型架构:
Collection: {
irrelevant fields,
object: {
more irrelevant fields,
array:
[
{
field1,
field2,
_id: false
}
]
}
}
我想将不与数组中已经存在的 field1 重复的任何对象 {field1, field2} 推送到数组(在 updateOne 查询中)。 field2 不断更新自己,我尝试过 addtoset 但它认为 field2 所以它最终添加了另一个我不想添加的项目。
例如:
array:[
{field1: 1, field2: 6},
{field1: 2, field2: 4},
{field1: 3, field2: 1}
]
如果我想推送{field1: 2, field2: 6},它不应该让我推送它,因为 field1:2 已经存在于数组中。
(使用 addtoset,即使它确实检查了 field1:2 是否已经存在,但由于 field2 不同,它最终会添加 te 对象)
array:[
{field1: 1, field2: 6},
{field1: 2, field2: 4},
{field1: 3, field2: 1}
{field1: 2, field2: 6}
]
【问题讨论】:
标签: node.js arrays mongodb mongoose