2014-01-21 7 views
1

Я попытался найти подсказки, но не нашел. Пожалуйста, позвольте мне задать вопрос об обратном поиске mongodb.Обратный поиск на mongodb

У меня есть коллекция, которая содержит префикс телефона, скажем, ниже.

{"prefix":"1234"} 

и я пытаюсь сделать это поражало со значением, как 12341111 или 12342222 ... в MySQL я могу сделать это с ниже SQL.

SELECT * from phoneprefix where ‘12341111’ like concat(prefix,’%’) 

Есть в любом случае, чтобы сделать возможным в MongoDB?

Спасибо, что прочитали мое сообщение и, пожалуйста, приятный день!

ответ

1

Единственный способ, которым я могу видеть, чтобы сделать это, чтобы использовать производительность стимулированной $where оператора:

db.phoneprefix.find({$where: function() { 
    return (new RegExp('^' + this.prefix)).test('12341111'); 
}}); 
+0

Очень благодарен за помощь! это прекрасно работает, и это то, что я нахожу! Я понимаю, где будет замедляться производительность, но я думаю, что буду использовать его сейчас. Надежда в будущем mongodb добавит некоторую функцию, которая поддерживает это с помощью индекса. Еще раз спасибо и, пожалуйста, приятный день! – user3220657

0

Вы можете использовать $regex в MongoDB.

+0

Спасибо за ваш ответ! в этом случае, я думаю, мне нужно использовать регулярное выражение для части поля. Могу ли я спросить, есть ли в любом случае использовать regex в поле (не значение) при выполнении поиска? – user3220657

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