Мне трудно понять, как именно индексирование выполняется на multikeys в mongodb.
Это то, что я читал о мультики в документах mongodb на своем веб-сайте:
1) "Создание индекса по индексам элементов массива приводит к индексированию базы данных каждого элемента массива"
2) "... индексирует все теги в документе и создает записи индекса для" X "," Y "и" Z "для этого документа."
Итак, что именно это означает для записей индекса для этого документа? Означает ли каждый документ записи, и в этом случае поиск будет полным сканированием таблицы? Или это тот же индекс b-tree mysql, где каждая запись индекса указывает на несколько документов для каждого соответствующего события, и в этом случае я слишком много думаю.
Возьмем пример:
obj1 = {
name: "Apollo",
text: "Some text about Apollo moon landings",
tags: [ "moon", "apollo", "spaceflight", "nasa" ]
}
obj2 = {
name: "Atlantis",
text: "Some text about Atlantis flight missions",
tags: [ "space", "atlantis", "spaceflight", "nasa" ]
}
>db.articles.ensureIndex( { tags : 1 } )
Пожалуйста, помогите мне понять! Спасибо, заранее.