通常のmongodbインデックスは、フィールド値とタイプの両方を使用してツリーを構築します。
$empty: true
のようなクエリ または$ne: null
どのタイプのパラメータも持たず、そのようなインデックスの恩恵を受けることはできません。これは特殊なケースであり、特別なスパースインデックス
が必要です。 。
[email protected]_1
インデックスは次のように作成されます:
db.getCollection('logs.res').createIndex(
{
"timeStamp" : -1,
"[email protected]" : 1
},
{ sparse: true }
)
クエリを最もよくサポートする必要があります。それ以外の場合、[email protected]_1
およびtimeStamp_1_module_1_etc
最初のフィールドのみが使用されているためです。