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