gpt4 book ai didi

mongodb - Mongo删除和插入与更新

转载 作者:可可西里 更新时间:2023-11-01 09:16:55 24 4
gpt4 key购买 nike

我正在使用 mongo 3.0 版数据库和 java 驱动程序。我收集了 100,000 多个条目。每天将有大约 500 次更新和大约 500 次插入,这些应该分批完成。我将获得包含旧字段的更新文档以及一些我必须存储的新文档。我不知道哪些字段是新添加的,我正在维护汇总统计的每个字段。因为我不知道发生了什么变化,所以我将不得不获取已经存在的记录,以查看更新记录和新记录之间的区别,以适本地设置摘要统计信息。所以我想就如何有效地完成这项工作提供意见。

我应该删除现有记录并重新插入还是应该更新 500 条记录。如果它有潜在优势,我是否应该考虑进行 1000 次升级。

示例用例初始记录包含:f=[185, 75, 186]。对于同一条记录,我将收到 f=[185, 75, 186, 1, 2, 3] 的更新请求。此外,上面提到的汇总统计信息将 id 的计数存储在 f 中。因此,1、2、3 的计数将增加,而 185、75、186 的计数将保持不变。

最佳答案

Upserts 用于添加不存在的文档。因此,如果您期待新文档,那么是的,请设置 {upsert: true}

为了更新您的统计数据,我认为最简单的方法是重做统计数据,如果您是在 mongo 中进行的(例如使用聚合框架)。如果你正确地索引你的文档,它应该没问题。我假设您的统计信息更新是离线操作。

如果您没有在 mongo 中进行统计,那么您可以添加另一个 collection ,您可以在其中保存更新以及旧字段(当然,您更新了您的current collection)所以你会知道哪些文档在白天发生了变化。在一天结束时,一旦您提取了所需的信息,您就可以删除这个临时/日志集合

关于mongodb - Mongo删除和插入与更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28437627/

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