如何在MongoDB中插入嵌套的关联数组

How to insert into nested associative arrays in MongoDB

本文关键字:嵌套 关联 数组 插入 MongoDB      更新时间:2023-10-18

我有一个MongoDB集合,它有一个包含嵌套关联数组的notes部分(请参阅下面的模式)。我在插入新注释时遇到问题。理想情况下,我想做一些类似的事情

var label_var = '3';
db.collection.update({ _id: ObjectID(id) }, { $set: { notes.label_var : data} } ...

遗憾的是,点表示法不包含变量,并且我不能在update语句中使用notes[label_var]。感谢您的帮助。

架构:

[
    {
        _id: GUID,
        title: 'title',
        notes: {
            '1': {
                content: 'content here'
            },
            '2': {
                content: 'content here'
            }
        }
    }
]

在调用update之前以编程方式构建$set值:

var label_var = '3';
var set_value = {};
set_value['notes.' + label_var] = data;
db.collection.update({ _id: ObjectID(id) }, {$set: set_value}, ...);