gpt4 book ai didi

node.js - MongoDB:哪个更快:findOne + 如果不存在插入或更新插入?

转载 作者:太空宇宙 更新时间:2023-11-04 02:31:43 25 4
gpt4 key购买 nike

我想检查集合中是否存在 2000 个 URL,并将尚不存在的 URL 与其他一些字段一起插入为新文档。我只需要更新已经存在的时间戳字段。通常新的会少得多。

目前,我在 async.each() 中循环并对每个进行更新插入,并在响应中使用 UpdatedExisting 字段来查看 URL 是否是新的。但也许我应该做 findOne 并插入或更新。另一种选择是对 async.each 中的现有项进行批量查找和更新,并对新项进行批量插入。请指教!谢谢。

最佳答案

好的,我认为 upsert 在您的情况下效果很好,看看这个页面:Mongo Bulk Upsert

这是它如何工作的一个简单示例:

bulk.find( { item: "abc123" } ).upsert().replaceOne(
{
item: "abc123",
status: "P",
points: 100,
}
);
bulk.execute();

希望对您有所帮助。

关于node.js - MongoDB:哪个更快:findOne + 如果不存在插入或更新插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26091112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com