我需要删除mongodb中2d文档结构数组中的条目。示例如下{ "_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" : ""}从两个数组。pName:Test1 可用于将其过滤掉。可用于查找此内容并将其删除的查询是什么?我可以做一个查找,然后循环访问集合,找到匹配的条目,然后更新文档。我必须使用Go mongodb驱动程序执行此操作由于这对我来说有点复杂,因为我是golang和mongo db的新手,所以我被困住了。更新:1.按照建议在 update() 调用中尝试,但不起作用。{$pull: {workflows: {pName:"Test1"}}}, {multi: true}2.尝试过类似的东西db.getCollection('workflows').update({_id:ObjectId('5ffef283f1f06ff8524aa2c2')}, {$pull:{workflows: { $elemMatch: {pName:'Test2'}}}} )这将删除整个数组,如下所示,因为 Test2 存在于其中。我只需要删除 Test2 文档[ { "pName" : "Test1", "wName" : "TestApp_Test1", "agent" : "" }, { "pName" : "Test2", "wName" : "TestApp_Test2", "agent" : "" }]
添加回答
举报
0/150
提交
取消