mongodb создать индекс на поле массива с $ mark не возможно? - PullRequest
0 голосов
/ 19 января 2019

Я хочу создать индекс для поля массива со встроенными документами. например,

foo={ x: { array[ {id:123, y:"h"}, {id:234, y:"z"} ] } }

db.foo.find( { "x.array.1.id": 234 }, {"x.array.$":1} )

У меня работает.

И мне нужно создать индекс для всех x.array.$.id значений полей. поэтому я попробовал, но не получилось, например:

db.foo.createIndex( { "x.array.$.id" :1 } )

"errmsg": "Ключ индекса содержит недопустимое имя поля: имя поля начинается с '$'."

Есть ли другой способ создать индекс для всех значений элемента? заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...