如何在MongoDB中存储增量数据?

How to store Incremental Data in MongoDB?

我在各种 collection 中有数百万份文件。

我的应用程序必须定期更新一些增量数据到 MongoDB。我该如何实现?

对于增量数据中的每条记录,如果记录存在,则必须用新值更新它,否则必须插入它。

{
   _id: 'some ID',
   lifnr: 12345,
   bukrs: 3455,
   amount: 500
},
{
   _id: 'some ID',
   lifnr: 12346,
   bukrs: 3456,
   amount: 5200
}

假设以上是我的数据,lifnr 和 bukrs 作为具有唯一约束的复合索引。 {lifnr & bukrs} 值与任何现有记录相同的任何新记录都应替换旧记录。如果它是唯一的新记录 {lifnr & bukrs},那么它必须 insert/append 它。

指导我的方法。谢谢

根据您的编辑,它并不是真正递增的数据。它只是将 upsert 设置为 true 的更新。每次更新。查询是,

db.collection.update(
  { lifnr: 12345, bukrs: 3455},
  {$set: {amount: 5600}}
  {upsert: true}
)

如果找到 linfr 和 bukrs 组合,上述查询将更新金额。如果找不到,它将插入一个新文档。