Я не уверен, что понимаю ваш вопрос, но, похоже, у вас есть одна запись с множеством атрибутов.
record = {'attr1': 1, 'attr2': 2 и т. Д.}
Вы можете создать индекс для любого отдельного атрибута или любой комбинации атрибутов.Кроме того, вы можете создать любое количество индексов для одной коллекции (коллекция MongoDB == таблица MySQL), независимо от того, есть ли у каждой записи в коллекции атрибуты, по которым выполняется индексация.
edit: я не знаю, что вы подразумеваете под «глобальным охватом» в MongoDB.Чтобы вставить какие-либо данные, вы должны определить базу данных и коллекцию для вставки этих данных.
База данных 'Пример':
Коллекция 'table1':
records: {a:1,b:1,c:1}
{a:1,b:2,d:1}
{a:1,c:1,d:1}
indices:
ensureIndex({a:ascending, d:ascending}) <- this will index on a, then by d; the fact that record 1 doesn't have an attribute 'd' doesn't matter, and this will increase query performance
edit 2:
Ну, во-первых, в вашей таблице,Вы присваиваете несколько значений атрибуту «имя» и «значение».MongoDB будет игнорировать / перезаписывать их первоначальные экземпляры, поэтому только последние будут включены в коллекцию.
Я думаю, вам нужно пересмотреть свою схему здесь.Вы пытаетесь использовать его как серию пар ключ-значение, и он специально не подходит для этого (если вам действительно нужны пары ключ-значение, посмотрите Redis).
Выезд: http://www.jonathanhui.com/mongodb-query