【问题标题】:Getting unspecified data while fetching data using mongoose find query使用猫鼬查找查询获取数据时获取未指定的数据
【发布时间】:2017-04-09 13:21:16
【问题描述】:

这是我的代码

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 端点时,我得到的结果低于包含一些不需要的数据的结果。

【问题讨论】:

  • 你有什么问题?
  • @dinchev 我只需要 _doc 而不是在我的输出中显示所有其他数据

标签: node.js mongodb express typescript mongoose


【解决方案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);
            }
        })
    });
}

【讨论】:

    猜你喜欢
    • 2017-10-09
    • 2020-03-10
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    相关资源
    最近更新 更多