Как запросить коллекцию MongoDB с помощью регулярного выражения?

#mongodb

#mongodb

Вопрос:

Я пытаюсь запросить коллекцию и хочу сделать это только в начале почтового индекса. Я пытался следовать инструкциям, но получил 0 документов:

 > db.listings.count({"house.postalcode" :  "EH21 8RG"})
2
> db.listings.count({"house.postalcode" :  {"$regex" : "/^EH21/"}})
0
  

Я знаю, что, должно быть, чего-то не хватает, но я проверил регулярное выражение онлайн, и вы можете увидеть результаты двух приведенных выше запросов.. помогите!

Комментарии:

1.При использовании $regex remove либо удалите строковые кавычки (чтобы сделать это регулярным выражением) и используйте : {"$regex" : /^EH21/} , либо используйте строковые кавычки без косых черт: {"$regex" : "^EH21"} docs

Ответ №1:

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

 db.listings.count({ "house.postalcode": /^EH21/ })
  

Комментарии:

1. Спасибо, спасибо вам! 🙂 > db.listings.count({«house.postal_code» : /^EH21 /}) 471