Оказывается, что для «поля» в «полях» требуется JSONPath.Кроме того, TEXT потребует некоторой длины.
Официальная документация по этому вопросу строго отсутствует и даже имеет некоторые явные ошибки.Я понял это только в ходе попытки сделать эквивалент NoSQL в ALTER TABLE ADD UNIQUE INDEX some_index (field_one, field_two);
, который кажется неподдерживаемым.
В любом случае, попробуйте это:
db.col.createIndex(
"name", {
"fields": [
{"field": "$.name", "type": "TEXT(64)"},
{"field": "$.name2", "type": "TEXT(64)"}
]
}
)
РЕДАКТИРОВАТЬ относительноуникальные индексы: Если вы добавляете в коллекцию обычный индекс, а затем заходите в рабочую среду, удаляете только что созданный вами индекс и повторно добавляете его как уникальный индекс, который, похоже, работает.Но это только для одного поля.
РЕДАКТИРОВАТЬ относительно уникальных индексов компоновки: Если вы создаете сгенерированный столбец, который объединяет два поля, которые вы хотите быть уникальными вместе, а затем применяете уникальный индекс кэто, это будет работать.