索引在子文档数组中的字段

时间:2011-05-24 01:29:57

标签: performance mongodb indexing

我正在尝试找出我从SQL Server移植到MongoDB的邮件系统的最佳设计 - 目前(在SQL Server中)存在存储邮件的树表:邮件,收件箱和已发送。邮件存储在“邮件”表中,“收件箱/已发送”包含每封邮件的所有收件人/发件人的条目。

现在,在MongoDB中,我想将这三个组合成一个集合,文档如下:

{
    _id: 
    subject:
    body:
    sender: {memid:, name:}
    recip: [{memid:, name:}, {memid:, name:}, {memid:, name:}, etc]

}

现在,我需要能够通过memid检索给定收件人的所有邮件,我必须快速完成,因此需要索引(我将拥有数亿条此类条目)。所以,我的问题是 - 我可以通过数组中的文档字段进行索引吗?

1 个答案:

答案 0 :(得分:13)

https://docs.mongodb.com/manual/indexes/#multikey-index

mongodb支持数组中文档字段的索引。

示例:

{ addr.zip: 1 }