Возможно ли создать индекс для нескольких вложенных полей в cosmos mongo db?

#mongodb #azure #azure-cosmosdb

#mongodb #azure #azure-cosmosdb

Вопрос:

Предположим, у меня есть класс document, внутри которого у меня есть объект Student, внутри которого у меня есть объект say Name, внутри которого у меня есть поле с именем name . Могу ли я создать индекс для этого поля имени внутри Azure Cosmos MongoDB? Если да, то какой будет команда? p.s — Я новичок в MongoDB и Cosmos.

Ответ №1:

При создании контейнера вы можете установить флажок для создания индекса для всех полей, как показано на скриншоте ниже.

введите описание изображения здесь

Однако, если этот флажок не установлен, и вы все еще хотите создавать индексы для вложенных свойств, вы можете использовать следующую команду:

 db.collection.createIndex({"Student.Name.name": 1})
  

Ответ №2:

Cosmos автоматически индексирует все пути в документе по умолчанию без необходимости явного определения какого-либо индекса. Это объясняется здесь:

https://learn.microsoft.com/en-us/azure/cosmos-db/index-overview

Итак, просто создайте элемент, и следует позаботиться об индексации.