Найти все документы, не имеющие ключевого слова в массиве mongodb
Рассмотрим эти 3 документа.
{
'_id': ObjectId('5b9035e7b93fee6022c31201'),
'keyword': ['a', 'b']
},
{
'_id': ObjectId('5b9035e7b93fee6022c31202'),
'keyword': ['a']
},
{
'_id': ObjectId('5b9035e7b93fee6022c31203'),
'keyword': ['b', 'c']
}
Я хочу сопоставить документы, где ключевое слово a
нет
Итак, результат должен быть:
{
'_id': ObjectId('5b9035e7b93fee6022c31203'),
'keyword': ['b', 'c']
}
Как это сделать в mongodb?
1 ответ
Решение
Ты можешь использовать $nin
оператор запроса
db.collection.find({ "keyword": { "$nin": ["a"] }})
или другое $ne
оператор запроса
db.collection.find({ "keyword": { "$ne": "a" }})