使用mongoose查找查询获取数据时获取未指定的数据

时间:2016-11-25 07:41:24

标签: 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(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);
        });
    }

访问api端点时,我得到的结果包含一些不需要的数据。

enter image description here

1 个答案:

答案 0 :(得分:1)

为了只呈现实例的dataValues,您可以使用猫鼬的toJSON()方法。

您的检索查询应如下所示:

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);
            }
        })
    });
}