我有“提要”集合,每个提要都有评论。因此,当有人对提要发表评论时,他会被添加到 Mongo 的多键字段“订阅者”中。
feeds: {
_id: ...,
text: "Text",
comments: [{by: "A", text: "asd"},{by: "B", text: "sdf"}],
subscribers: ["A","B"]
}
然后,当我需要获取用户 A 的所有带有新评论的提要时,我会请求带有 {subscribers:"A"} 的提要。
通常有 2-5 条评论,但有时(在热门提要上)可能有超过 100 条评论和超过 100 条订阅者。
我知道不建议使用包含太多键的多键字段。那么多少算太多?
我问是因为我需要决定 - 我是使用多键还是直接向每个用户发送评论更好。在这种情况下,我必须为每个订阅者复制提要 - 并且集合会增长得非常快 - 我认为这也不好:1000 个用户,每个用户后面跟着 10 个用户,每个用户每天执行 10 个操作 = 每 10 个记录 1 000 000天!