如何在MongoDB中存储增量数据



我在各种集合中有数百万个文档。

我的应用程序必须定期向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}的新记录,那么它必须插入/附加它。

引导我找到方法。感谢

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

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

如果linfr&找到了布克尔组合。如果找不到,它将插入一个新文档。

相关内容

  • 没有找到相关文章

最新更新