Estoy usando mongoose-paginate-v2 y también estoy usando populate. Funciona, pero cuando completo mi campo, la población devuelve una matriz y quiero poner el nombre del valor dentro del campo cajaID:
Lo que quiero conseguir:
{ "_id": "5aa23958-06a9-4ff1-b614-d112d81b2eSi", "nombre": "Zone", "cajaID": "Caja grande" }Lo que consigo:
{ "_id": "5aa23958-06a9-4ff1-b614-d112d81b2eSi", "nombre": "Zone", "cajaID": { "nombre": "Caja grande" } }Mi código:
await ZonesModel.paginate(query, { populate: {path: 'cajaID', select: { '_id': 0,'nombre':1}}}, function(err, doc) { if (err) { error = new Error(err); error.status = 500; throw error; } data = doc; })mongoose-paginate-v2 también tiene proyección, pero cuando quiero acceder al campo "nombre" no funciona, solo devuelve el valor del campo que tiene la identificación de la otra colección.
await model.paginate(query, { populate: {path: 'cajaID', select: { '_id': 0,'nombre':1}}, projection: { caja: "$cajaID" }}, function(err, doc) { if (err) { error = new Error(err); error.status = 500; throw error; } data = doc; })Este código devuelve esto:
{ "_id": "5aa23958-06a9-4ff1-b614-d112d81b2eSi", "nombre": "Zone", "cajaID": { "nombre": "Caja grande" }, "caja": "5aa23958-06a9-4ff1-b614-d112d81b2eBa" // id of the another collection but i can't access to the nombre field }