如何导航到嵌套对象
我在尝试使用nodejs和mongodb从嵌套对象导航到属性时遇到问题。
这是我的职能:
async function obtenerInscripciones(username) {
const inscripcionesDB = await Inscripcion.find({ username: username._id }).populate({
path: 'clase',
select: '_id',
})
console.log(inscripcionesDB, WORKING); // **working**
console.log(inscripcionesDB.clase._id, NOT WORKING); // **undefined**
return inscripcionesDB;
}
我的输出是这样的
{
estado: 'CANCELADA',
_id: 5d959abc0d3ee404889d2b28,
clase: { _id: 5d82e5525770f32b5024665a },
username: 5d917b2cb531bc2a94a3d476,
}, **WORKING**
(node:18380) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '_id' of undefined, NOT **WORKING**
我做错了什么?
回答如下:在函数之前的“异步”一词意味着一件简单的事情:该函数总是返回一个promise。
async function obtenerInscripciones(username) {
return await Inscripcion.find({
username: username._id
}).populate({
path: 'clase',
select: '_id',
})
}
obtenerInscripciones(username).then((response) => {
console.log('response', response)
})
如何导航到嵌套对象
我在尝试使用nodejs和mongodb从嵌套对象导航到属性时遇到问题。
这是我的职能:
async function obtenerInscripciones(username) {
const inscripcionesDB = await Inscripcion.find({ username: username._id }).populate({
path: 'clase',
select: '_id',
})
console.log(inscripcionesDB, WORKING); // **working**
console.log(inscripcionesDB.clase._id, NOT WORKING); // **undefined**
return inscripcionesDB;
}
我的输出是这样的
{
estado: 'CANCELADA',
_id: 5d959abc0d3ee404889d2b28,
clase: { _id: 5d82e5525770f32b5024665a },
username: 5d917b2cb531bc2a94a3d476,
}, **WORKING**
(node:18380) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '_id' of undefined, NOT **WORKING**
我做错了什么?
回答如下:在函数之前的“异步”一词意味着一件简单的事情:该函数总是返回一个promise。
async function obtenerInscripciones(username) {
return await Inscripcion.find({
username: username._id
}).populate({
path: 'clase',
select: '_id',
})
}
obtenerInscripciones(username).then((response) => {
console.log('response', response)
})