Соответствие подстроки на поле в индексе json

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

У меня есть запись в данных с data.name собственностью A SIGN DESIGN PTY. LTD., Мой индекс определяется следующим образом:

db.index({
  name: 'subbies_text',
  type: 'json',
  index: {
    fields: ['data.name']
  },
})

Можно ли использовать селектор, который будет выполнять сопоставление подстроки, чтобы я мог искать "знак" или "дизайн знака" и иметь "A SIGN DESIGN PTY. LTD." включены в результаты поиска?

1 ответ

Вы можете достичь этого с помощью $regex. Предположим, вы успешно создали индекс json с именем "subbies_text", следующий пример запроса:

{"selector": { "_id": { "$gt": 0 }, "subbies_text":{"$regex":"SIGN" } }, "fields": [ "_id", "_rev", "name" ]}
Другие вопросы по тегам