[ { _id: 610be2c, msg: { text: 'sdsdsdsdsd' }, sender: '600333', receiver: 5fea6e, }, { _id: 610be2d, msg: { text: 'sdsdsdsdsdsdsdsdsdsdsd' }, sender: '6003123', receiver: 608ffae, } ] Message.find({}, function(err, users) { if (users) { users.forEach(function(user) { console.log(`${user.receiver}`, 'receiver'); }); }); El resultado en console.log para user.receiver :
undefined receiver undefined receiver Probé con user._id, user.sender y todo está bien. Para user.receiver devuelve undefined , aunque cuando obtengo los dos objetos anteriores de la base de datos puedo ver dos objetos y para la propiedad del receiver se adjuntan los datos. Intenté usar user.receiver.toString() pero aparece un error: Cannot read property 'toString' of undefined
Esto se debe a que el valor del receiver no es una cadena, sino algo 608ffae que JS lee como una variable (ese podría no ser el caso) y dado que no está definido ni declarado, devuelve undefined :
Actualizar:
[ { _id: 610be2c, msg: { text: 'sdsdsdsdsd' }, sender: '600333', receiver: '5fea6e', }, { _id: 610be2d, msg: { text: 'sdsdsdsdsdsdsdsdsdsdsd' }, sender: '6003123', receiver: '608ffae', } ]actualiza a esto:
[ { _id: 610be2c, msg: { text: 'sdsdsdsdsd' }, sender: '600333', receiver: '5fea6e', }, { _id: 610be2d, msg: { text: 'sdsdsdsdsdsdsdsdsdsdsd' }, sender: '6003123', receiver: '608ffae', } ]