异步循环插入到mongodb中

时间:2017-05-21 19:25:35

标签: mongodb

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

1 个答案:

答案 0 :(得分:0)

如果您正在编写大量文档,那么最好在mongo https://docs.mongodb.com/manual/core/bulk-write-operations/中使用批量操作。

您可以将查询编写为upserts。这个问题与我想要完成的事情非常相似。 How to properly do a Bulk upsert/update in MongoDB

如果您按顺序执行批量操作,则不应该同时运行两个查询。