我有以下 mongodb 集合 ():myCollection[ { "_id":"1", "name":"one", "values":[ { "property":"a9", "value":8 }, { "property":"a2", "value":8 } ] }, { "_id":"2", "name=":"two", "values":[ { "property":"a1", "value":9 }, { "property":"a3", "value":9 } ] }, { "_id":"4", "name":"four", "values":[ { "property":"a4", "value":4 } ] }]我想从数组中删除()带有和的对象。$pullvaluesvalues.property = a3name = two因此,对象应从 = 2 的数组中删除。{"property":"a3", "value":9}values_id这是我在lang中的方法,但它不起作用:gomyCollection.UpdateOne(context.TODO(), bson.M{"name": "two", "values.propery": "a3"}, bson.D{bson.E{Key: "$pull", Value: "values.$"}},)
1 回答
慕哥9229398
TA贡献1877条经验 获得超6个赞
壳:
db.collection.update(
{
"name": "two",
"values.property": "a3",
},
{
$pull: {
"values": {
"property": "a3",
},
},
})
去:
filter := map[string]interface{}{
"name": "two",
"values.property": "a3",
}
update := map[string]interface{}{
"$pull": map[string]interface{}{
"values": map[string]interface{}{
"property": "a3",
},
},
}
myCollection.UpdateOne(
context.TODO(),
filter,
update,
)
- 1 回答
- 0 关注
- 69 浏览
添加回答
举报
0/150
提交
取消