我正在使用pymongo包装器创建一个应用程序,我的架构就像:
{
_id: <some_id>,
name: <some_name>,
my_tags: [<list_of_tags>]
}
现在我想返回那些属于用户指定标签的条目。例如, 我希望有一些条目,其中my_tags至少应该是[“大学”,“美国”,“工程”]。为此我读了$ all构造可以使用。现在我想知道的是,在my_tags上制作索引是否有用。对于我的应用程序,这种类型的查询被广泛使用。
答案 0 :(得分:3)
在my_tags上制作索引是否有用?对于我的应用程序,这种类型的查询被广泛使用。
是$所有人都会使用索引,因此在那里制作一个索引仍然很好但是仍然可以对其进行优化:https://jira.mongodb.org/browse/SERVER-5331和https://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