如何在JSON数组中推送新的键和值?
我试过在更新查询中使用了push关键字,但我得到了不同的输出。我用过:
db.users.updateOne({"name":"viki"},{$push{"address.district":"thambaram"}})
我有这个文件:
{ "_id" : ObjectId("58934f10c7592b1494fd9a4d"), "name" : "viki", "age" : 100, "subject" : [ "c", "node.js", "java" ], "address" : { "city" : "chennai", "state" : "tamilnadu", "pincode" : "123" } }
我想在地址json数组中添加"district":"thambaram"
我需要:
{ "_id" : ObjectId("58934f10c7592b1494fd9a4d"), "name" : "viki", "age" : 100, "subject" : [ "c", "node.js", "java" ], "address" : { "city" : "chennai", "state" : "tamilnadu", "pincode" : "123","district":"thambaram"} }
答案 0 :(得分:1)
使用$set
db.users.updateOne({"name":"viki"},{$set:{"address.district":"thambaram"}})
这应该有用。
$push
运算符将指定值附加到数组。在您的情况下,您应该使用$set