gpt4 book ai didi

javascript - 通过变量索引更新 mongoDB 文档中的数组

转载 作者:可可西里 更新时间:2023-11-01 09:39:55 26 4
gpt4 key购买 nike

如何通过存储在变量中的索引更新 mongoDB 文档中的数组?

{
_id: 'IDString',
field: [ bla, bla, old, bla ];
}

let i = 2;
Collection.update(
{ _id: 'IDString' },
{ $set:
{ 'field.$.i': 'new' }
}
);

所以结果应该是:

{
_id: 'IDString',
field: [ bla, bla, new, bla ];
}

我的代码无法运行,因为我想使用变量 i

最佳答案

使用 dot notation设置更新文档的语法,因为这将通过从零开始的索引位置访问数组的元素。您必须将数组名称与点 (.) 和从零开始的索引位置连接起来,并用引号引起来。

因此在您的示例中,您需要动态设置更新文档以生成

var update = { "$set": { "field.2": "new" } }

下面的代码片段展示了这一点:

var i = 2,
update = { "$set": {} };

update["$set"]["field."+i] = "new";
db.collection.update({ "_id": "IDString" }, update)

关于javascript - 通过变量索引更新 mongoDB 文档中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38158140/

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