Как мы можем создать несколько индексов, используя CreateIndexModel в последнем драйвере mongodb c #

#c# #mongodb

#c# #mongodb

Вопрос:

Я должен проиндексировать 2 поля, используя CreateIndexModel для одного индекса, я пробовал это и его работу.Я не уверен, как я могу добавить еще одно поле в индекс.

 var indexModel = new CreateIndexModel<BsonDocument>(
                Builders<BsonDocument>.IndexKeys.Ascending(IndexField),
                new CreateIndexOptions
                {
                    Name = IndexName,
                    Background = true
                });
            collection.Indexes.CreateOne(indexModel);
 

Ответ №1:

если целью является создание составного индекса с несколькими ключами индекса, вы можете просто связать методы builder следующим образом:

 Builders<Category>.IndexKeys
    .Ascending(x => x.Name)
    .Ascending(x => x.UserID);
 

просто имейте в виду, что составные индексы имеют некоторые ограничения в mongo. то, что вы добавляете все поля запроса в индекс, не означает, что все они будут использоваться.

это сообщение в блоге даст вам больше информации.