1

我正在使用 pymongo 包装器制作一个应用程序,我的架构如下:

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

现在我想返回那些属于用户指定标签的条目。例如,我希望 my_tags 至少应为 [“college”、“USA”、“engineering”] 的条目。为此,我阅读了可以使用 $all 构造。现在我想知道的是,在 my_tags 上建立索引是否有用。对于我的应用程序,这种类型的查询被广泛使用。

4

2 回答 2

3

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

是的 $all 将使用一个索引,所以在那里创建一个索引仍然很好,但是仍然可以对其进行优化:https ://jira.mongodb.org/browse/SERVER-5331和https://jira。 mongodb.org/browse/SERVER-1000

通常,文档只会在某些内容无法使用索引时向您发出警告。

于 2012-08-29T14:15:26.153 回答
1

$all 查询的语法是:

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

文档可在以下位置找到:

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

于 2012-08-29T14:10:24.883 回答