2014-11-25 1 views
0

У меня есть параметр поиска, который имеет комбинацию из трех полей (жилище, имяOrNumber и улица) и событие keyup. Мне нужно объединить вышеупомянутые 3 клавиши и извлечь значение из MongoDBmongoDb значение выборки из поиска объекта с несколькими объектами

Пример параметров поиска:

"Plot 227, Rockingham Street" 

образец MongoDB объекта

{ 
"_id" : ObjectId("5460e1660ca8560b00048e47"),  
"address" : { 
      "dwelling" : "The Patterdale", 
      "nameOrNumber" : "Plot 227", 
      "street" : "Rockingham Street", 
      "locality" : "Fitzwilliam", 
      "town" : "Pontefract", 
      "county" : "West Yorkshire", 
      "postcode" : "WF95BZ", 
      "country" : { 
       "code" : "UK", 
       "name" : "United Kingdom" 
      } 
     } 
} 
+0

Не могли бы вы уточнить, что вы имеете в виду, когда говорите «Объедините 3 клавиши и извлеките»? Есть ли установленный формат? – tantalum

+0

@tantalum В приведенном выше примере объекта MongoDB у меня есть 3 ключа «жилище», «nameOrNumber» и «street». Когда пользователь ищет конкретное ключевое слово, мне нужно сопоставить все 3 значения ключа, чтобы получить результат. – Elankeeran

ответ

1

Вы можете посмотреть на creating text indexes, которые могут быть созданы на multiple fields. А затем используйте оператор $text в вашем поиске для выполнения поиска, который будет просматривать все поля, индексированные текстовым индексом. Из документации:

MongoDB предоставляет текстовые индексы для поддержки текстового поиска содержимого строки в документах коллекции.

Например, вы можете создать индекс, как:

db.collection.ensureIndex(
          { 
          dwelling: "text", 
          nameOrNumber: "text", 
          street: "text" 
          } 
         ) 

И затем запрос, как:

db.collection.find({ $text: { $search: "Plot 227 Rockingham Street" } }) 

Это должно найти документ, который вы ищете.

Примечание: Приведенный выше пример не проверен. Однако предоставленная информация должна вести вас в правильном направлении.

+0

Спасибо Ананду. Но его рабочий штраф в монгодхе 2.6.1. – Elankeeran

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