Построение индексов в MongoDB с помощью .NET-драйвера 2.0

Какой новый способ создания индексов с новым драйвером 2.0? В этом нет никакой документации.

По-видимому, теперь это работает с новым интерфейсом IndexKeysDefinitionBuilder<>, но все, что я получил до сих пор.

Ответ 1

Вам нужно позвонить и await CreateOneAsync с помощью IndexKeysDefinition, используя Builders.IndexKeys:

static async Task CreateIndex()
{
    var client = new MongoClient();
    var database = client.GetDatabase("db");
    var collection = database.GetCollection<Hamster>("collection");
    await collection.Indexes.CreateOneAsync(Builders<Hamster>.IndexKeys.Ascending(_ => _.Name));
}

Если у вас нет Hamster, вы также можете создать индекс в не строго типизированном виде, указав представление индекса json:

await collection.Indexes.CreateOneAsync("{ Name: 1 }");