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