2015-01-06 2 views
3

Как создать запрос в mongodb для фильтрации по любому свойству документа.MongoDB найти все свойства документа

У меня есть коллекция объектов следующим образом:

{ 
    "_id" : ..., 
    "name" : "John", 
    "city" : "Rio de Janeiro", 
    "state" : "RJ", 
    "address" : "Street 1, .... " 
} 

У меня есть на моей странице в поле, которое позволяет пользователю получить про запись в любом столбце. Если это MYSQL, я нахожу имена всех столбцов в таблице и создаю предложение «OR» для поиска «LIKE» значения, введенного пользователем.

Есть ли простой способ сделать это с помощью mongodb, не нужно искать все существующие свойства в документе?

+4

использование текстового поиска: http://docs.mongodb.org/manual/administration/indexes-text/ – Disposer

ответ

3

В это время, я не считаю, что это поддерживается: https://jira.mongodb.org/browse/SERVER-1248

В качестве альтернативы, вы можете использовать Elasticsearch с MongoDB: How to use Elasticsearch with MongoDB?.

После того, как вы установите его, вы можете легко выполнить запрос соответствия для поиска всех полей: {"query":{'match':{'_all':your_query}}}

Смежные вопросы