簡體   English   中英

Golang MongoDB 一次查詢刪除多項

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM