await Response.find({ responder_id: req.user._id, }) .populate({ path: "query_id", select: ["query_type", "content"] }) .find({ slider_value: 761 }) .find({ query_id: {} });Cuando se ejecuta el código anterior, este es el mensaje de error devuelto a Postman:
{ "stringValue": "\"{}\"", "valueType": "Object", "kind": "ObjectId", "value": {}, "path": "query_id", "reason": {}, "name": "CastError", "message": "Cast to ObjectId failed for value \"{}\" (type Object) at path \"query_id\" for model \"Response\"" } Entonces, de acuerdo con el mensaje, el campo query_id todavía es del tipo ObjectId y no se comporta como un objeto javascript normal, ya que necesita ser emitido pero no puede de todos modos.
Si mi observación es correcta, ¿cómo puedo hacer que un campo ObjectId se comporte como un objeto normal después de completarlo?
Resolverá este problema también:
`find` no funciona con documentos anidados después de completar