gpt4 book ai didi

javascript - 在一个 Mongoskin 查询中推送多个数组

转载 作者:行者123 更新时间:2023-11-28 19:35:12 27 4
gpt4 key购买 nike

我正在使用 Mongodb 和 Mongoskin。我有以下数据结构:

clients: {
firstArray: [
{
_id: '153'.
someField1: 'someVal1',
someField2: 'someVal2'
}
...
]

secondArray: [
{
_id: '7423'.
someField1: 'someVal1',
someField2: 'someVal2',
firstArrayIds: ['153, 154, 155, ...']
}
...
]
}

是否可以以某种方式将对象$pushfirstArray,并在同一查询中将_id添加到secondArray。 firstArraysIds ?

最佳答案

谁说你不能这样做?这非常简单,如 $push是一个“顶级”更新修饰符,因此采用“文档级”参数情况:

db.collection.update(
{ "_id": someDocumentId, "secondArray._id": 7423 },
{
"$push": {
"firstArray": someNewObject,
"secondArray.$.firstArrayIds": someNewObject._id
}
}
);

所以 positional $运算符允许您更新与您的条件匹配的“secondArray”元素。

不能做的唯一一件事就是匹配文档中多个数组元素的元素,并要求更新这些“位置”。正如文档所述,只会为位置运算符存储第一个匹配索引。

但是在您要求做的事情中,只需要一次匹配就可以了。

关于javascript - 在一个 Mongoskin 查询中推送多个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26016164/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com