#mongodb #pymongo #mongodb-atlas
#mongodb #pymongo #mongodb-atlas
Вопрос:
Я использую Pymongo для извлечения коллекции, и мне нужно исключить документы. В соответствии с параметрами исключения коллекции Mongo я использовал $ ne в своем запросе, а также исключил поля в своей проекции.
Похоже, это не работает. Я получаю документы с myVar, установленным в true.
cursor = collection.find(
{ 'myVar' : { '$ne': 'true' }},
{
'secret': 0,
'Policies': 0
}
)
Обратите внимание, что мое значение является логическим, но если я сделаю, как написано ниже, я получу сообщение об ошибке :
{ '$ne': true }
Пожалуйста, помогите мне, эксперты! 🙂
Ответ №1:
Python использует True / False для логических операторов, поэтому вам следует использовать:
cursor = collection.find(
{ 'myVar' : { '$ne': True }},
{
'secret': 0,
'Policies': 0
}
)
Запрос выглядит нормально, но вы также можете использовать альтернативный подход:
cursor = collection.find(
{ 'myVar' : { '$in': [None, False] }},
{
'secret': 0,
'Policies': 0
}
)