假设我有一个Mongo集合和一个web应用程序来查看Internet中的集合。当我编辑集合(即添加、删除和更新文档)时,我的更改在Internet上立即可用。
现在,我想将我的所有更改保存为草案,当我想要提供它时,我将显式地发布草案。
简单的实现是添加一个新的草案集合。我只编辑这个草稿集合,当我按下“发布”按钮时,草稿集合被复制到原始集合中。
到目前为止还不错,但是这个解决方案是不可伸缩的,因为复制的时间是集合大小的函数。你能提出另一种解决方案吗?
发布于 2014-03-04 17:21:14
在每个文档中都有一个字段,如果文档是草稿,则该字段是设置的草稿。类似于:
title:"FooBar blah blah",
draft:true当单击按钮来发布帖子时,您只需要更新一个文档--该帖子的文档可以更改草稿为false,也可以修改为$unset。选择显示哪些文档的查询必须检查draft:{$ne:true} --注意,这将匹配草稿设置为false的文档和根本没有字段draft的文档。这使您可以不使用当前文档,而不需要更新所有文档才有此字段。
https://stackoverflow.com/questions/22177028
复制相似问题