我需要刪除mongodb中2d文檔結(jié)構數(shù)組中的條目。示例如下{ "_id" : ObjectId("5ffef283f1f06ff8524aa2c2"), "applicationName" : "TestApp", "pName" : "", "environments" : [], "stages" : [], "createdAt" : ISODate("2021-01-15T09:51:35.546Z"), "workflows" : [ [ { "pName" : "Test1", "wName" : "TestApp_Test1", "agent" : "" }, { "pName" : "Test2", "wName" : "TestApp_Test2", "agent" : "" } ], [ { "pName" : "Test1", "wName" : "TestApp_Test1", "agent" : "" } ] ], "updatedAt" : Date(-62135596800000)}因此,我想刪除所有文檔事件{ "pName" : "Test1", "wName" : "TestApp_Test1", "agent" : ""}從兩個數(shù)組。pName:Test1 可用于將其過濾掉??捎糜诓檎掖藘?nèi)容并將其刪除的查詢是什么?我可以做一個查找,然后循環(huán)訪問集合,找到匹配的條目,然后更新文檔。我必須使用Go mongodb驅(qū)動程序執(zhí)行此操作由于這對我來說有點復雜,因為我是golang和mongo db的新手,所以我被困住了。更新:1.按照建議在 update() 調(diào)用中嘗試,但不起作用。{$pull: {workflows: {pName:"Test1"}}}, {multi: true}2.嘗試過類似的東西db.getCollection('workflows').update({_id:ObjectId('5ffef283f1f06ff8524aa2c2')}, {$pull:{workflows: { $elemMatch: {pName:'Test2'}}}} )這將刪除整個數(shù)組,如下所示,因為 Test2 存在于其中。我只需要刪除 Test2 文檔[ { "pName" : "Test1", "wName" : "TestApp_Test1", "agent" : "" }, { "pName" : "Test2", "wName" : "TestApp_Test2", "agent" : "" }]
1 回答

慕標5832272
TA貢獻1966條經(jīng)驗 獲得超4個贊
- 1 回答
- 0 關注
- 122 瀏覽
添加回答
舉報
0/150
提交
取消