Я впевнений, що мені не вистачає чогось дуже елементарного в запитах MongoDB.
Розгляньте цю колекцію
> db.tests.find()
{ "_id" : ObjectId("..."), "name" : "Test1" , "deleted" : true}
{ "_id" : ObjectId("..."), "name" : "Test2" , "deleted" : false}
{ "_id" : ObjectId("..."), "name" : "Test3" }
Я просто хотів би запитати всі елементи, які "не видаляються"
Я знаю, як знайти елемент, для якого прапорець "видалено" має значення true:
> db.tests.find({deleted:true})
{ "_id" : ObjectId("..."), "name" : "Test1" , "deleted" : true}
Але як мені знайти всі елементи, які НЕ "deleted"
(наприклад, заперечують наведений вище запит, або іншими словами, будь-які елементи, які або не мають "deleted"
поля, або мають його зі значеннямfalse
Те, що я спробував відгадати (будь ласка, не смійся ...)
> db.tests.find({$not : {deleted: true}})
(результатів не повертається)
> db.tests.find({$not : {$eq:{deleted:true}}})
помилка: {"$ err": "недійсний оператор: $ eq", "код": 10068}
> db.tests.find({deleted:{$not: true}})
помилка: {"$ err": "недійсне використання $ not", "код": 13041}
> db.tests.find({deleted:{$not: {$eq:true}}})
помилка: {"$ err": "недійсне використання $ not", "код": 13034}
Чого мені не вистачає?