2 回答

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊
有了這個(gè)包,go.mongodb.org/mongo-driver/mongo你可以這樣做:
coll.FindOneAndUpdate(
context.Background(),
bson.D{
{"id", "1234"},
{"achievements.scope", "life achievements"},
{"achievements.list._id", 1},
},
bson.M{"$set": bson.M{"achievements.$.list.$[elem].title": "some new test"}},
options.FindOneAndUpdate().SetArrayFilters(options.ArrayFilters{
Filters: []interface{}{bson.M{"elem._id": 1}},
}),
)
將其“翻譯”為 shell:
db.user.findOneAndUpdate(
{"id": "1234","achievements.scope": "life achievements","achievements.list._id": 1},
{$set: {"achievements.$.list.$[elem].title": "some new test"}},
{arrayFilters: [{"elem._id": 1}]}
)

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
doc := coll.FindOneAndUpdate(
? ? ? ? context.Background(),
? ? ? ? bson.D{
? ? ? ? ? ? {"_id", "1234"},
? ? ? ? ? ? {"achievements.scope", "life achievements"},
? ? ? ? },
? ? ? ? bson.D{
? ? ? ? ? ? {"$set", bson.D{
? ? ? ? ? ? ? ? {"achievements.$.list.$[elem].title", "some new text"},
? ? ? ? ? ? }},
? ? ? ? },
? ? ? ? options.FindOneAndUpdate().SetArrayFilters(options.ArrayFilters{
? ? ? ? ? ? Filters: []interface{}{bson.D{
? ? ? ? ? ? ? ? ? ? {"elem._id", 1},
? ? ? ? ? ? ? ? }},
? ? ? ? }).SetReturnDocument(1),
? ? )
- 2 回答
- 0 關(guān)注
- 168 瀏覽
添加回答
舉報(bào)