Tengo un problema.
Debería usar el método mongoose find() para algunas consultas. Mientras uso el método find() , cuando doy el método de búsqueda de filtro funciona pero no me da valor/valores.
const messages = await MessageSchema.find({sessionId: sessionId}, {__v: 0, _id: 0, updatedAt: 0}).exec();El código anterior es mi método de búsqueda. Este código me da como valor, matriz vacía. []
Pero en este código,
const messages = await MessageSchema.find({}, {__v: 0, _id: 0, updatedAt: 0}).exec();dame una matriz y todos los mensajes están en la matriz.
Pero debería usar filtrado.
Este es mi esquema de mensajes.
const mongoose = require('mongoose'); var schema = new mongoose.Schema({ participant_name: {type: String}, message: {type: String}, sessionId: {type: String}, participantId: {type: Object} }, { timestamps: true }); module.exports = mongoose.model("Message", schema)¿Usted me podría ayudar por favor?
Debe convertir su ID de sesión al tipo de ID de objeto en el filtrado.
¿cómo?
import { Types } from 'mongoose'; const messages = await MessageSchema.find({sessionId: Types.ObjectId(sessionId)}, {__v: 0, _id: 0, updatedAt: 0}).exec();