Mongodb 更新数组中的元素
假设我有一个对象:Mongodb 更新数组中的元素,mongodb,Mongodb,假设我有一个对象: {town_id: 13, houses_data: [ {house_id: 5, price: 32, description: "thats a house"}, {house_id: 2, price: 12, description: "thats a house"} ] } 我想将id为5的房子的描述更新为“已售出”: 我尝试的是: 获取这些数据: twon1.houses_data 并尝试仅更新房屋数据,其中id=5 twon1.
{town_id: 13, houses_data: [
{house_id: 5, price: 32, description: "thats a house"},
{house_id: 2, price: 12, description: "thats a house"}
]
}
我想将id为5的房子的描述更新为“已售出”:
我尝试的是:
获取这些数据:
twon1.houses_data
并尝试仅更新房屋数据
,其中id=5
twon1.houses_data.find({house_id: 5}).update(description: "sold");
但我得到了这个错误信息:
我错了什么?谢谢您可以使用更新与给定查询匹配的第一个嵌入文档:
db.test.town.update({town_id: 13, "houses_data.house_id":5},
{$set: { "houses_data.$.description": "sold"}})
twon1.houses_data.find({house_id: 5}).update(description: "sold");
[object Object],[object Object] has no method 'find'
db.test.town.update({town_id: 13, "houses_data.house_id":5},
{$set: { "houses_data.$.description": "sold"}})