Tengo tal esquema. Al usar el comando, quiero que se agreguen nuevos elementos allí
const userSchema = new mongoose.Schema({ _id: { //user id type: String, required: true, }, books: [{ //book that user uses _id: { //book id type: Number, required: true, }, lessons: [{ //lessons of the book with progress type: String, required: true, }], }], })
Estoy tratando de agregarlos de esta manera.
await userSchema.findByIdAndUpdate(author.id, { $addToSet: { books: {_id: bookid, lessons: progress} } })
bookid
- es el valor int incrementado en uno. progress
- matriz de cadenas
Pero solo se escribe una serie de lecciones en la base, sin identificación. Cuando agrego solo la identificación, no se agrega la identificación, sino una serie de lecciones. Ya he pasado varias horas y no puedo entender por qué no quiere agregar todo a la matriz. Por favor ayuda.
Prueba con el operador $push
:
await userSchema.findByIdAndUpdate(author.id, { $push: { books: { _id: bookid, lessons: progress } } })