gpt4 book ai didi

javascript - Mongodb update() 与 findAndModify() 性能对比

转载 作者:可可西里 更新时间:2023-11-01 10:28:10 25 4
gpt4 key购买 nike

对于不断增长的文档,我可以选择使用update()findAndModify()插入新的数组字段中的元素。但是,findAndModify() 将在我的特定应用程序中生成更清晰的代码。但是我可以使用 update() 实现相同的功能,只是更加困惑。

我只是想知道使用 update() 而不是 findAndModify() 能获得多少性能提升。非常感谢!

最佳答案

我使用 mongo shell 进行了快速测试。对于本文档:

{
"c" : 50,
"growingArray" : [ 0 ]
}

我运行了两个测试:

for (i = 1; i < 10000; i++)
{
db.testids.update( { "c" : 50 }, { $addToSet : { "growingArray" : i } } );
}

在我的中端笔记本电脑上总共花费了 40.926s

findAndModify() 版本:

for (i = 1; i < 10000; i++)
{
db.testids.findAndModify({ query: { "c" : 50 }, update : { $addToSet : { "growingArray" : i } } } );
}

用了 42.445 秒。我平均每个运行五次。

随心所欲。下意识的结论是,在我的特定环境中使用 findAndModify() 有大约 3% 到 4% 的开销,没有其他任何事情发生。请记住,虽然 findAndModify() 获得写锁,因此您可以对应用程序的整体性能产生更大的影响。

关于javascript - Mongodb update() 与 findAndModify() 性能对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31274569/

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