2011-11-21 94 views
0

使用MongoDB ...MongoDB,索引ID的数组?

如果我在一个字段中有一个id数组,我可以快速查询它是否包含id_x?

如果是这样,我将如何保险和索引它,以便尽可能快?

谢谢!

回答

2

是的,你可以在该字段上建立一个索引。密钥具有多个值并不会影响您的工作方式。他们称之为Multikey功能。

db.articles.ensureIndex({ tags : 1 }) 

和查询是一样的好:

db.articles.find({ tags: 'april' }) 

碰巧击中其中有任何文件(至少)该标签。

+1

你也可以查询标签数组吗?相反的情况?在文档中搜索数组中的任何值以获取文档中的单个值,或在文档中的数组中搜索数组中的任何值? – fancy

+1

如果你想要MATCH_ANY,你可以使用'$ in'。如果你想要MATCH_ALL,你可以使用'$ all':http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24all如果你想完全匹配数组,我不确定,特别是如果订单也很重要,则不是这样。这在这里可能值得另一个问题。 – Thilo

+0

真棒,谢谢! – fancy