我有一个包含“参考数据”的MongoDB (v2.2.0)集合。定期,我需要用外部来源的数据替换集合中的所有文档。在替换引用数据时,不要访问集合,这一点很重要。
我是否正确地认为最好的解决方案就是用不同的名称创建一个新的(即“临时”)集合,用数据加载它,然后重命名它?
例如:
myCollection-TEMPinto myCollection-TEMPdb.myCollection-TEMP.renameCollection('myCollection', true)据我所知,没有办法安全地“清空”一个集合,对文档进行“批量导入”,并确保在此过程中没有其他任何东西访问该集合。
发布于 2012-10-11 23:02:31
是的,创建一个临时集合,然后重命名是可行的方法。这也是其他技术中常见的方法。例如,计算机图形学中的双缓冲。你在一个看不见的背景平面上准备一个框架,然后用屏幕交换它。这会立即更新图片,不闪烁或其他工件。
https://stackoverflow.com/questions/12849853
复制相似问题