异步在循环中插入mongodb

异步在循环中插入mongodb,mongodb,Mongodb,我使用mongo,一次要插入多个查询,所以我使用for循环插入数据库。问题是每个查询都属于一个键,因此我检查键是否存在,如果不存在,我将其添加到数据库中,如果存在,我将其追加。如果我有多个具有相同密钥的查询(因为mongo异步插入),那么这两个相同的密钥可以在db中标识为“不存在”,因为它们可以并行运行。有办法解决这个问题吗 如果要编写大量文档,最好在mongo中使用批量操作 您可以将查询写为upsert。我认为这个问题与你想要达到的目标非常相似 如果将其作为有序批量操作进行,则两个查询同时运行

我使用mongo,一次要插入多个查询,所以我使用for循环插入数据库。问题是每个查询都属于一个键,因此我检查键是否存在,如果不存在,我将其添加到数据库中,如果存在,我将其追加。如果我有多个具有相同密钥的查询(因为mongo异步插入),那么这两个相同的密钥可以在db中标识为“不存在”,因为它们可以并行运行。有办法解决这个问题吗

如果要编写大量文档,最好在mongo中使用批量操作

您可以将查询写为upsert。我认为这个问题与你想要达到的目标非常相似


如果将其作为有序批量操作进行,则两个查询同时运行不会有问题

很可能你的情况并不像你说的那么复杂。展示一些示例更新和您试图在问题中实现的总体结果。在批量操作和基本升级中都有适合您的技术。但我们需要一些更具体的例子来确定。