繁体   English   中英

Golang MongoDB 一次查询删除多项

Golang MongoDB delete multiple items in one query

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我的数据库中有一个match表,我需要从中删除多个项目,我想知道是否有办法使用单个查询来执行此操作。 我在 Go 代码中得到[]primitive.ObjectID类型的deleteList deleteList基本上是需要删除的match.id列表。 我可以轻松地通过我的deleteList切片并逐个删除所有matches项,但我觉得应该有一种更有效的方法在一个查询中执行此操作,而不是用多个查询淹没我的数据库。

有谁知道可能的解决方案?

谢谢你。

1 个回复

您可以使用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
}
1 在一个查询中删除多个MongoDB文档

我正在尝试使用MongoDB,并创建了一个演示控制台应用程序。 我想删除一堆文件。 目前,我正在循环删除一个。 我的问题是:如何删除一个查询中的所有内容? 我在C#列表中有要删除的Bson文档列表。 这是我当前的查询。 ...

2 Golang MongoDB查询

如何使用golang bson查询mongodb来检索文档中的ipv4Address字段。 我使用nfType字段作为查询参数。 目前,mongo只分出了表格的数组 结果 但是,我想要这个领域 要么 集合中的JSON文档是表单 { "nfType": ...

2019-04-24 10:47:15 0 35   go
3 使用golang动态查询mongodb

我正在尝试使用只有一个函数的golang(和mgo库)查询我的mongodb数据库,我目前使用的方法是: 其中items是map,key是我在db中搜索的字段的名称,值是我想要搜索的。 和sel()是: 目前,它将返回所有结果,其中至少有一个字段与输入映射匹配。 (所以逻 ...

4 golang中的mongodb聚合查询

我能够运行以下 mongoDB 聚合查询并在 Mongo DB 中获得所需的结果。 当我在 Golang 中运行聚合查询时,我想得到相同的结果。 但是,除了查询中显示空字符串值的两个字段(即 displayName、msId)外,我按预期获取了所有字段值(即持续时间、totalTime)。 它应该包 ...

5 在 golang 中重试 mongoDB 查询

我需要配置 MongoDB 写入才能重试多次。 根据文档,我可以通过将 MongoDB 写入查询中的 RetryMode 更改为 RetryContext 来实现这一点,以便重试查询直到 context.Context.Deadline 超过 https://godoc.org/go.mongo ...

6 如何使用mongodb和golang通过一个查询从2个表中获取数据?

我有一个基于项目和用户的TODO列表应用程序。 当我从mongo的users集合中获取用户时,我也想获取另一个集合中具有“ userId”字段的项目。 但是所有这些都应该在一个查询中发生。 我想知道我应该如何从SQL或某种方法中模拟联接,这些联接可以在一个查询中返回我需要的全部内容。 我只在存储库中 ...

7 MongoDB - 查询计算和分组多个项目

假设我有这些数据: 还有更多,但我只是可视化我想要计算和分组的数据,这是预期的输出: 总和一直是总和,迟到总是总和,时间>“15”,概率是迟到/总和我试过的代码,但它仍然缺少一些东西: ...

8 MongoDB一个查询具有多个OR或多个查询?

每个用户都有一个手机号码,我想检查一下我的通讯录中是否还有其他用户。 所以我有1000个数字,我想检查数据库中是否有任何一个,所以我的最初想法是针对每个数字我都运行mongodb查询: 但是建议我这样做: 现在两个相等吗? 第二种方法更昂贵吗? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM