mongodb-索引$ all查询的列表字段

时间:2012-08-29 11:06:50

标签: mongodb indexing pymongo

我正在使用pymongo包装器创建一个应用程序,我的架构就像:

{
    _id: <some_id>,
    name: <some_name>,
    my_tags: [<list_of_tags>]
}

现在我想返回那些属于用户指定标签的条目。例如, 我希望有一些条目,其中my_tags至少应该是[“大学”,“美国”,“工程”]。为此我读了$ all构造可以使用。现在我想知道的是,在my_tags上制作索引是否有用。对于我的应用程序,这种类型的查询被广泛使用。

2 个答案:

答案 0 :(得分:3)

  

在my_tags上制作索引是否有用?对于我的应用程序,这种类型的查询被广泛使用。

是$所有人都会使用索引,因此在那里制作一个索引仍然很好但是仍然可以对其进行优化:https://jira.mongodb.org/browse/SERVER-5331https://jira.mongodb.org/browse/SERVER-1000

通常,文档只会警告您何时无法使用索引。

答案 1 :(得分:1)

$ all查询的语法是:

db.collection.find({'my_tags': {'$all': ['college', 'USA', 'engineering']}})

文档可在以下网址找到:

http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24all