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 に答える