每个人如何管理MongoDB中的归档/删除文档?

时间:2017-10-31 15:41:56

标签: mongodb archiving

我目前正在学习很多关于MEAN堆栈和显然是MongoDB的知识。我想设置我的数据库,以便不会“删除”任何东西,只会将事物标记为已删除或移动到其他位置,例如存档的集合/数据库。这样做的行业标准方法是什么?

我看待它的方式是我有两种选择,都提出了更多问题:

  1. 使用已删除的密钥将文档标记为已删除。

    我会将此存储为带有附加时间戳数组的时间戳吗?我需要这个数组,因为我还希望创建一个“恢复”功能,这意味着它可以被多次删除,我想跟踪它。这意味着我必须更新我的许多查询以忽略该密钥。

  2. 将文档移动到另一个集合或数据库。

    这需要最多的工作,因为我需要处理引用该文档的任何其他功能。例如,从影院数据库中删除用户,这是否意味着我还必须存档以前的预订,或者只是更新查询以便在档案中搜索?

  3. 我找不到任何有用的资源,但是如果你们知道任何有用的话请指点我那个方向:)谢谢。

1 个答案:

答案 0 :(得分:0)

谢谢hector!他的回答:

“实际上,没有一种”标准“的方法可以做到这一点。每家公司都以自己的方式完成。对于你的第一个选项,你不需要存储一个时间戳数组,而只需要一个标志,表明该文件是“删除”。然后,在另一个集合中,您可以存储事件。例如:{event:“deleted”,date:“03/08/2017 08:00:00”,documentId:“7726”}事件存储是要走的路“