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