为了账号安全,请及时绑定邮箱和手机立即绑定

mongodb的Subdocuments更新疑问?

mongodb的Subdocuments更新疑问?

万千封印 2018-11-13 22:41:49
[ {_id:001...arrs:[{name:'a',score:10},       {name:'b',score:11},       {name:'c',score:12},       {name:'d',score:13}      ] } {_id:002...arrs:[{name:'a',score:11},       {name:'b',score:12},       {name:'c',score:13},       {name:'d',score:14}      ] } ... ]像上面的内嵌数组的文档,每个arrs长度都在20一下,但是需要比较频繁去更新arrs内部子文档的name,score.是否有必要去把arrs内部子文档拆分出来单独放一张collection.这是在其他地方搜索到的建议:操作的最小单元最好是 Document,而不是 SubDocument,如果你经常有对 SubDocument 进行操作的需求,请把它拆出来放到另外一个 Collection 里,在原 Collection 的数据结构里 Refrence 这些拆出来的 Document。我在官网文档还没有找到这个建议,请问是否应该拆分出来?
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

没有绝对的标准,怎么做需要权衡你的实际情况。这也是MongoDB数据模型设计的难点,因为不像RDBMS有范式这个标准,MongoDB的模型设计是根据你的需求来的,权衡各种使用场景下的利弊,然后选择一个收益最好的模型。所以在没有任何背景的前提下就说哪种更好是不合理的(所以在官网不可能找到这样的建议)。
首先当初选择把这些东西放在一个数组里的原因是什么?如果这些数据没有任何联系,那放在一起就是完全没有必要的。

查看完整回答
反对 回复 2018-11-13
  • 1 回答
  • 0 关注
  • 639 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信