mongo db update子文档 - 子文档不在数组中

时间:2013-10-24 06:54:27

标签: mongodb pymongo

我有这样的文件,

{
    "S" : {
        "500209" : {
            "total_income" : 38982,
            "interest_income" : 1714,
            "reported_eps" : 158.76,
            "year" : 201303
        }
    },
    "_id" : "pl"
}

我正在尝试更新此文档,

{
    "S" : {
        "500209" : {
            "total_income" : 38982,
            "interest_income" : 1714,
            "reported_eps" : 158.76,
            "year" : 201303,
            "yield": 1001,  <== inserted a new attribute
        }
    },
    "_id" : "pl"
}

我试过了,

db.my_collection.update({_id: 'pl'},{$set: {'S.500209.yield': 1}})

但我做不到。我搜索堆栈溢出和谷歌,但我找不到。

我得到了很多答案,但大部分都是将子博客保留在阵列中。

请帮助我解决我的问题,请告诉我为什么大多数人都将子文档保存在数组中。

1 个答案:

答案 0 :(得分:1)

数字键可能会导致问题。更新您的字段名称。

db.my_collection.update({_id: 'pl'},{$set: {'S.a500209.yield': 1}})

修改

升级mongo版本。它适用于2.4。