1 つのキーが昇順で、2 つ目のキーが降順である複合インデックスを作成したいと考えています。
これどうやってするの?
ユーザーが選択したプロパティ名を含む文字列があります。
collection.EnsureIndex(IndexKeys.Descending(selectedProperties[0]),
IndexKeys.Ascending(selectedProperties[1])),
IndexOptions.......
動作しません
1 つのキーが昇順で、2 つ目のキーが降順である複合インデックスを作成したいと考えています。
これどうやってするの?
ユーザーが選択したプロパティ名を含む文字列があります。
collection.EnsureIndex(IndexKeys.Descending(selectedProperties[0]),
IndexKeys.Ascending(selectedProperties[1])),
IndexOptions.......
動作しません
ドライバーの v2.x では、API が完全に変更されたため、現在、複合インデックスを非同期で作成する方法 (これが推奨されています) は次のとおりです。
await collection.Indexes.CreateOneAsync(
Builders<Hamster>.IndexKeys.Ascending(_ => _.Name).Descending(_ => _.Age),
new CreateIndexOptions { Background = true });
そして同期的に:
collection.Indexes.CreateOne(
Builders<Hamster>.IndexKeys.Ascending(_ => _.Name).Descending(_ => _.Age),
new CreateIndexOptions { Sparse = true });
1 つの方法を次に示します。
var keys = new IndexKeysBuilder();
keys.Ascending(keyName1);
keys.Descending(keyName2);
var options = new IndexOptionsBuilder();
options.SetSparse(true);
options.SetUnique(false);
collection.EnsureIndex(keys, options);