Mongodb 考虑到mongo db的性能,更新一组文档的最佳方法是什么

Mongodb 考虑到mongo db的性能,更新一组文档的最佳方法是什么,mongodb,Mongodb,我是Mongodb的新手。我需要一些关于以下场景的输入 我有一个文档{“field1”:“abc”,“field2”:“xyz”,“testId”:“test123”} 在每笔交易中,假设我们收到1000份此类文件,其中可能有一些新文件,比如100份(意味着这100份文件没有条目) 现在我有两种方法来更新这些文档。 方法1:查询每个文档以确定它是否有db条目,或者将其添加到db中。(我们可以使用upsert方法进行此操作) 方法2:删除与特定字段值匹配的所有文档,并使用SaveAll将所有100

我是Mongodb的新手。我需要一些关于以下场景的输入

我有一个文档
{“field1”:“abc”,“field2”:“xyz”,“testId”:“test123”}

在每笔交易中,假设我们收到1000份此类文件,其中可能有一些新文件,比如100份(意味着这100份文件没有条目)

现在我有两种方法来更新这些文档。
方法1:查询每个文档以确定它是否有db条目,或者将其添加到db中。(我们可以使用upsert方法进行此操作)

方法2:删除与特定字段值匹配的所有文档,并使用SaveAll将所有1000个文档作为新条目插入


有人可以建议最好的方法。

添加一个唯一的索引,进行批量插入并忽略任何错误:

db.foo.createIndex({ "testId": 1 }, { unique: true })

db.runCommand({
  insert: "foo",
  documents: [
    { "field1" : "abc", "field2": "xyz", "testId" : "test123" },
    ...
  ],
  ordered: false  // continue despite errors
})