Node.js 使用mongoose find查询获取数据时获取未指定数据
这是我的密码Node.js 使用mongoose find查询获取数据时获取未指定数据,node.js,mongodb,express,typescript,mongoose,Node.js,Mongodb,Express,Typescript,Mongoose,这是我的密码 fetchAll(){ return new Promise((resolve, reject) => { User.find({}) .exec((err: any, res: any) => { if(err){ reject(new Error("No heroes found")); }else{ resolve
fetchAll(){
return new Promise((resolve, reject) => {
User.find({})
.exec((err: any, res: any) => {
if(err){
reject(new Error("No heroes found"));
}else{
resolve(res);
console.log(res);
}
})
});
}
我正在使用从控制器调用上述方法
getUsers():Promise<IUser[]> {
return this.userService.fetchAll().then((users) => {
return users;
}).catch((err) => {
debug(`ERROR:${module}:getHeroById`)(err);
throw new NotFoundError(err.message);
});
}
getUsers():承诺{
返回此.userService.fetchAll()。然后((用户)=>{
返回用户;
}).catch((错误)=>{
调试(`ERROR:${module}:getHeroById`)(err);
抛出新的NotFoundError(错误消息);
});
}
在访问api端点时,我得到的结果如下,其中包含一些不需要的数据
为了只呈现实例的
数据值
,可以使用mongoose方法
您的检索查询应该如下所示:
fetchAll(){
return new Promise((resolve, reject) => {
User.find({})
.exec((err: any, res: any) => {
if(err){
reject(new Error("No heroes found"));
}else{
users = res.map( user => user.toJSON() );
resolve(users);
console.log(users);
}
})
});
}
你的问题是什么?@drinchev我只需要_doc,而不需要在输出中显示所有其他数据