javascript - tutorial - mongoose update
Mangosta/Mongodb: excluir campos de datos de consulta poblados (2)
El segundo parámetro de populate
es una cadena de selección de campo, por lo que puede hacer esto como:
Author
.findOne({personcode: code})
.select(''-_id -__v'')
.populate(''bookids'', ''-_id -__v'')
.exec(function (err, data) {
//foo
});
Tenga en cuenta que debe combinar sus selecciones de campo en una sola cadena.
Uso la siguiente consulta de mangosta en un entorno MEAN para encontrar y sacar un autor en particular y sus libros correspondientes.
Author
.findOne({personcode: code})
.select(''-_id'')
.select(''-__v'')
.populate(''bookids'') //referencing to book documents in another collection (->array of bookids)
.select(''-_id'') //this doens''t affect the data coming from the bookids-documents
.select(''-__v'') //this doens''t affect the data coming from the bookids-documents
.exec(function (err, data) {
//foo
});
También me gustaría excluir los campos "_id" y "__v" de los datos poblados que provienen de los documentos externos. ¿Cómo se puede lograr eso?
Gracias JohnnyHK, y para el parámetro de objeto esto funciona:
Entity.populate({
path: ''bookids'',
// some other properties
match: {
active: true
},
// some other properties
select: ''-_id -__v'' // <-- this is the way
}).then(...) // etc