Estoy tratando de usar el método find_one_and_update() de pymongo para actualizar algunos valores en mongoDB, pero necesito filtrar según dos condiciones diferentes, y esto no parece posible.
Intenté pasar una lista de filtros similares a [{"nombre": "nombre"}, {"fecha": "fecha}], pero esto no funcionó.
¿No hay forma de filtrar en múltiples condiciones con este método? ¿De qué otra manera puedo lograr esto?
Gracias
Descubrí que el argumento de filtro único puede ser una consulta usando lógica booleana. La solución fue:
{"$and":[{"name": "name"}, {"date": "date"}]}como argumento del filtro.
Bueno, para múltiples filtros, si necesita que todos estén en efecto, entonces es solo un diccionario de filtro simple como se muestra a continuación:
find_one({"name": "name"}, {"date": "date"}) Sin embargo, si necesita que alguno de esos múltiples filtros esté en efecto, entonces puede usar el operador $or
find_one({"$or":[{"name": "name"}, {"date": "date"}]})