我有一个像mongodb这样存储的文件
"Fiction" : [
{
"SNo": "1",
"authorName" : "Enid Blyton",
"bookName" : "Secret series",
"Amount" : 115
},
{
"SNo": "2",
"authorName" : "Enid Blyton",
"bookName" : "Mystery series",
"Amount" : 150
}
]
我想将金额从115
更新为135
。
我试图更新这样的值。
db.fiction.update({"Fiction.SNo":"1"},{$set:{"Fiction.Amount":135}})
但是我收到了错误。
错误是
cannot use the part (Fiction of Fiction.Amount) to traverse the element
任何人都可以帮忙解决这个问题,我需要在python中实现这一点。
答案 0 :(得分:1)
在更新中使用 $ positional
运算符,因为它标识要更新的数组中的元素,而不显式指定其在数组中的位置:
db.fiction.update({"Fiction.SNo":"1"},{$set:{"Fiction.$.Amount":135}})
答案 1 :(得分:1)
$
运算符用于在更新时迭代数组列表。
您的查询将是:
db.Fiction.update({"Fiction.SNo":"1"},{$set:{"Fiction.$.Amount" : 135}})