【问题标题】:How to keep two read only collection synced with mongoose如何使两个只读集合与猫鼬同步
【发布时间】:2013-07-31 23:41:20
【问题描述】:

我有一个名为 Products 的猫鼬模型,我从外部系统(谷歌电子表格)提供它。

每次电子表格更改时,我都会收到一个事件,我需要找出更改的内容并相应地更新 Products 集合。

我想到的最简单的方法是:

  1. 在电子表格更改事件中,删除 Product 集合中的所有文档
  2. 再次将我从电子表格中获得的整个新产品集合插入到Products 集合中。

这几乎没有效率,但它是一个简单而干净的解决方案,假设集合不是很大并且不会太频繁地更新。

我能想到的任何其他方法都涉及迭代更新后的谷歌电子表格和Products 集合并将它们相互比较。

有这样做的继承方式吗?也许是更有效的算法?

【问题讨论】:

  • 为什么不使用$set操作符更新文档?

标签: node.js mongodb mongoose database


【解决方案1】:

我的建议是使用临时名称插入一个新的空集合,然后重命名它以自动覆盖现有集合。

您还可以考虑对电子表格中已创建或更新的每个文档进行upsert,然后删除所有已删除的文档。

【讨论】:

    猜你喜欢
    • 2021-11-25
    • 2020-01-20
    • 1970-01-01
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 2017-05-31
    相关资源
    最近更新 更多