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: як видалити поле з кожного документа