0
我有这样一个文件,蒙戈DB更新子文档 - 子文档不在阵
{
"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}})
但我做不到。我搜索了堆栈溢出和谷歌,但我找不到。
我有这么多的答案,但他们大多数保持子文档在数组中。
请帮我解决我的问题,并请告诉我为什么他们大多数人将子文档保存在数组中。
不工作:-)无论如何感谢您的时间。 –
你完全正确。问题是由于数量。我已将该数字更改为字符串并尝试使用。这是工作。 –
正如我猜:)但问题是definetely关于数字字段名称。 S.500209表示S是一个数组,我想要500209个元素。你可以只添加一个前缀到你的“500209”键,并使它像“a500209”?我想,'S.a500209.yield'会起作用。如果任何解决方案没有更改字段名称可用,有人会启发我们 –