猫鼬有一个奇怪的问题,我想专门访问模型的键。
export const exportUsers = async () => {
const users = await User.find();
const headers = ["firstName","lastName"]
users.forEach((user) => {
console.log(user);
// this shows:
// {
// firstName: "zac",
// lastName: "taylor"
// }
console.log(user.firstName); // undefined; nothing
// if i log the keys for the user:
console.log(Object.keys(user));
// i get this weird stuff:
// [
// '$parent',
// '$isSingleNested',
// '$__',
// 'isNew',
// 'errors',
// '$locals',
// '$op',
// '_doc',
// '$init'
// ]
})
return csvify.create(exportData, headers, 'Users-List.csv');
}
但是记录整个模型会显示它在那里,但是使用Object.keys
时它就不存在了...
我如何直接访问user.firstName
?
答案 0 :(得分:1)
这是因为您正在获取Mongoose对象,而不仅仅是JSON数据。
如果只需要纯JSON数据,请使用lean():
const users = await User.find().lean();