gpt4 book ai didi

mongodb - 使用 mongoDB 中的新键更新对象数组

转载 作者:可可西里 更新时间:2023-11-01 09:52:53 24 4
gpt4 key购买 nike

类似于此question

翻阅数据集,我有类似的东西:

{
'user_id':'{1231mjnD-32JIjn-3213}',
'name':'John',
'campaigns':
[
{
'campaign_id':3221,
'start_date':'12-01-2012',
},
{
'campaign_id':3222,
'start_date':'13-01-2012',
}
]
}

我想在 campaigns 中添加一个新 key ,如下所示:

{
'user_id':'{1231mjnD-32JIjn-3213}',
'name':'John',
'campaigns':
[
{
'campaign_id':3221,
'start_date':'12-01-2012',
'worker_id': '00000'
},
{
'campaign_id':3222,
'start_date':'13-01-2012',
'worker_id': '00000'
}
]
}

如何将新键插入/更新到对象数组中?
我想在数组中的每个对象中添加一个新键,默认值为 00000

我试过:
db.test.update({}, {$set: {'campaigns.worker_id': 00000}}, true, true)
db.test.update({}, {$set: {campaigns: {worker_id': 00000}}}, true, true)

有什么建议吗?

最佳答案

我假设这个操作会发生一次,所以你可以使用脚本来处理它:

var docs = db.test.find();
for(var i in docs) {
var document = docs[i];

for(var j in document.campaigns) {
var campaign = document.campaigns[j];
campaign.worker_id = '00000';
}

db.test.save(document);
}

该脚本将遍历您集合中的所有文档,然后遍历每个文档中的所有事件,设置 *worker_id* 属性。最后,每个文档都被持久化。

关于mongodb - 使用 mongoDB 中的新键更新对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13980253/

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