Mongodb: як перевірити, чи поле містить рядок


Ви можете використовувати наступний синтаксис у MongoDB, щоб перевірити, чи певне поле містить певний рядок:

 db.collection.findOne({ name : { $regex : /string/ }})

У наведених нижче прикладах показано, як використовувати цей синтаксис із групою зборів із такими документами:

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

Приклад 1: перевірте, чи поле містить рядок

Ми можемо використати такий код, щоб перевірити, чи є документ, що містить рядок «avs» у полі team:

 db.teams.findOne({ team : { $regex : /avs/ }}) 

Цей запит повертає такий документ:

 { _id: ObjectId("618050098ffcfe76d07b1da5"),
  team: 'Mavs',
  position: 'Guard',
  points: 31 }

Зверніть увагу, що функція findOne() повертає перший документ у колекції, який відповідає критеріям запиту.

Це означає, що інші команди також можуть мати рядок «avs» у своїй назві, але документ із назвою команди «Mavs» був просто першим.

Приклад 2: Перевірте, чи поле містить рядок (незалежно від регістру)

Ми також можемо використовувати i після рядка, щоб створити збіг без урахування регістру .

Наприклад, припустімо, що ми використовуємо такий запит:

 db.teams.findOne({ team : { $regex : /AVS/i }}) 

Цей запит також повертає такий документ:

 { _id: ObjectId("618050098ffcfe76d07b1da5"),
  team: 'Mavs',
  position: 'Guard',
  points: 31 }

Приклад 3: перевірте, чи поле містить рядок (результатів немає)

Якщо поле не містить конкретного рядка, який ми шукаємо, ми просто отримаємо нуль відповідно.

Наприклад, припустімо, що ми використовуємо такий запит:

 db.teams.findOne({ team : { $regex : /ricks/ }})

Цей запит повертає такий результат:

 null

Оскільки жоден документ не містить рядка «ricks» у назві команди, у результаті ми отримуємо null .

Примітка . Ви можете знайти повну документацію для $regex тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в MongoDB:

MongoDB: як шукати «not null» у певному полі
MongoDB: як робити запити за допомогою регулярного виразу «Подобається».
MongoDB: Як додати нове поле до колекції
MongoDB: як видалити поле з кожного документа

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *