DevGang
Авторизоваться

Как использовать оператор SQL LIKE в MongoDB 

MongoDB - мощный сервер базы данных Nosql. Он использует документы, подобные JSON, с дополнительными схемами для хранения данных.

Организация данных всегда является важной задачей разработчика. Поскольку он играет важнейшую роль в производительности приложения. В Mongodb вы можете использовать запросы, похожие на оператор SQL LIKE, для извлечения данных.

В примерах, используемых в этом руководстве, мы используем некоторые фиктивные данные, как показано ниже. Вы также можете создать базу данных и выполнить приведенные ниже команды для вставки фиктивных данных.

db.colors.insert({ "id": 100, "color": "Pink"})
db.colors.insert({ "id": 101, "color": "Purple"})
db.colors.insert({ "id": 102, "color": "Black"})
db.colors.insert({ "id": 103, "color": "Blue"})

Использование .find()

Команда Mongodb find() используется для поиска документов в коллекции. Эта функция предоставляет гибкие возможности поиска документов.

Функция find() по умолчанию извлекает все документы в коллекции. Он также позволяет запрашивать коллекцию документов, передавая несколько простых параметров, и возвращать курсор.

Простой пример метода .find() выглядит так:

db.colors.find()
{"_id": ObjectId ("5f697e4ccc528930cde49f53"), "id": 100, "color": "Pink"}
{"_id": ObjectId ("5f697e4fcc528930cde49f54"), "id": 101, "color": "Purple"}
{"_id": ObjectId ("5f697e52cc528930cde49f55"), "id": 102, "color": "Черный"}
{"_id": ObjectId ("5f697e55cc528930cde49f56"), "id": 103, "color": "Синий"}

Вышеупомянутое возвращает все документы в коллекции. Давайте отфильтруем результаты из базы данных.

Например, выборка всех документов содержащих "color": "Pink". Выполните такой запрос:

db.colors.find ({color: "Pink"})

Использование .find() в качестве оператора SQL LIKE

Вы можете использовать регулярное выражение для поиска документов в monogdb. Это будет похоже на операторы LIKE в запросах SQL.

Search String Anywhere - для поиска во всем документе, в названии которого есть «Pink» в любом месте строки. Вторая инструкция ищет все документы, в которых указан цвет "Bl".

### SQL Statement 
select * from colors where color LIKE "%Pink%"

### Mongodb Statement 
db.colors.find(color: "/Pink/")

Search String Start With - будет соответствовать всей строке, начинающейся с символов P. Символ «^» используется для указания поиска с начала строки.

### SQL Statement 
select * from colors where color LIKE "P%"

### Mongodb Statement 
db.colors.find(color: "/^P/")

Search String End With - символ доллара «$» используется для сопоставления конца строки с определенными символами. В приведенном ниже примере все строки заканчиваются символом «k».

### SQL Statement 
select * from colors where color LIKE "%k"

### Mongodb Statement 
db.colors.find(color: "/k$/")

Search String In Any Case - это метод поиска по умолчанию с учетом регистра символов. Вы можете поручить команде find в любом случае сопоставить символы с параметром "i", как это используется в приведенном ниже примере.

### SQL Statement 
select * from colors where color LIKE BINARY "pink"

### Mongodb Statement 
db.colors.find(color: "/pink/i")

Источник:

#MongoDB
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

Освой перспективную онлайн профессию!

Получить скидку