2016-09-30 86 views
0

我有带引用的父文档。问题是,可以删除所有引用的文档并插入新的文档,而不是更新旧的,插入新的和删除的删除文档?在SQL中,这不是很好的做法,因为索引变得分散。替换替换更新

+0

您是否想要更新整个文档或只是一些属性? –

+0

好吧,想象一下,我有参考产品的发票。当有人编辑发票并保存它时,我不想检查哪些产品被删除,哪些产品被更新/插入。我只想删除所有旧产品并在那里放置新产品。 –

回答

0

当您开始将文档插入到MongoDB中时,它会将每个 文档放在磁盘上的前一个旁边。因此,如果一个文件 变大,将不再适合在空间它本来 写入和将被移动到集合

我相信它能够更好的另一部分删除和插入柜面我们不确定的大小,否则如果更新的规模更大,我们可以面对性能问题的情况下重新部署。

如果我没看错,你要实现的目标是文件替换的行为,我相信你可以使用db.collection.findAndModify(),它有更新删除领域,它可以帮助你实现你想要的行为。