[英]Golang MongoDB delete multiple items in one query
我的數據庫中有一個match
表,我需要從中刪除多個項目,我想知道是否有辦法使用單個查詢來執行此操作。 我在 Go 代碼中得到[]primitive.ObjectID
類型的deleteList
。 deleteList
基本上是需要刪除的match.id
列表。 我可以輕松地通過我的deleteList
切片並逐個刪除所有matches
項,但我覺得應該有一種更有效的方法在一個查詢中執行此操作,而不是用多個查詢淹沒我的數據庫。
有誰知道可能的解決方案?
謝謝你。
您可以使用Collection.DeleteMany()
。
構造一個與您的任何 ID 匹配的過濾器,並將其傳遞給DeleteMany()
,如下所示:
c := ... // acquire match collection
ids := []primitive.ObjectID{} // the id list to delete
filter := bson.M{"_id": bson.M{"$in": ids}}
if _, err := c.DeleteMany(ctx, filter); err != nil {
// handle error
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.