現在、次のように設定されたコレクションの 1 つに地理空間フィールドのインデックスがあります。
collection.ensureIndex({ loc : "2d" }, { min : -10000 , max : 10000,
bits : 32, unique:true}
ただし、インデックスにもう 1 つのフィールドを含めたいので、ユース ケースの 1 つで対象となるインデックス クエリを利用できます。複数のフィールド (複合インデックス) を持つ ensureIndex は次のようになります。
collection.ensureIndex( { username : 1, password : 1, roles : 1} );
質問は - 最小/最大パラメータを保持するために、追加フィールドを使用して最初のインデックス仕様を作成するにはどうすればよいですか? つまり、最小/最大/ビットがインデックス フィールドの 1 つだけに適用されるように指定するにはどうすればよいでしょうか? これまでの私の最良の推測は次のとおりです。
collection.ensureIndex({ loc : "2d", field2 : 1 },
{ min : -10000 , max : 10000 , bits : 32, unique:true}
しかし、これが正常に機能するという自信はありません。
アップデート:
こちらのドキュメントに詳細がありますが、この場合の最小/最大を指定する方法はまだ明示されていません。