MongoDB 更新操作无法使用 golang mongo-驱动程序

MongoDB update operation not working using golang mongo-driver

这是参考

我需要删除空的子数组。我需要在 go lang

中编写这个查询
db.getCollection('workflows').update({<find condition>}, {$pull: {"workflows":[]  } }   )

所以我写了下面的代码

nquery := bson.D {
    {"level", "application"},
    {"workflowName", workflowName},
    {"applicationName", applicationName},
}
nupdate := bson.M{"$pull": bson.M{"workflows":"[]"}}
UpdateOne(getContext(), nquery, nupdate)

UpdateOne 的结果显示我的查询已匹配但未修改任何内容。所以我猜 nupdate 有一些问题。我做错了什么?

UpdateOne 函数是 mongo-go lang 驱动程序的一部分

方括号“[]”不应该在引号中,因为现在它们被解释为字符串...,它们需要像方括号 [] 一样添加并且在 golang 中需要:&[]int{}由 mongo goland 驱动程序转换为空数组...

"[]" 不是查询中的空数组,它是一个 字符串 具有左右方括号。

MongoDB 空数组可以用这种类型的空 slice in Go, e.g. with a value of type []interface{}, so a composite literal“建模”为 []interface{}{}

所以使用这个:

nupdate := bson.M{"$pull": bson.M{"workflows": []interface{}{}}}