элемент - многомерный массив php



Каков надлежащий способ обеспечения индексации индекса mindodb indexIndex на многомерном массиве? (1)

У меня есть данные в mongodb что-то вроде этого. Есть коллекция кошек. Кошки сортируются по разным категориям и оцениваются от 1 до 100. Одна кошка может находиться в 2 или более категориях. Есть 1000 категорий.

КОЛЛЕКЦИЯ : «кошки»

КЛЮЧИ :

rank.category1 = 1; // ranked 1st in category #1
rank.category2 = 13; // ranked 13th in category #2
rank.category425 = 50; // ranked 50th in category #425

ВОПРОС : Если я хочу сделать find (), чтобы вернуть всех «кошек», имеющих «ранг» в «категории2», где $ exists => «rank.category2», каков правильный способ индексирования этого? Могу ли я просто поместить простой восходящий индекс в коллекцию «rank» или мне нужен индекс для всех 1000+ категорий * ключей? Есть ли лучший способ хранить эту информацию или более простой способ ее индексирования?


Как насчет ...

rank.categories = [1, 2, 425];
rank.category = {
    1 : 1,
    2 : 13,
    425 : 50
}

Вы можете индексировать db.collection.ensureIndex({"categories":1}) . Теперь вы можете искать категории и получать рейтинг каждого, когда найдете его.





mongodb-query