微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何更改快速 GET 响应中的字段名称?

如何解决如何更改快速 GET 响应中的字段名称?

现在,我有如下用于快速 API 的工作代码

router.get('/Find',function(req,res,next){
    Dog.findOne({
        'Date_Time_Competed': req.query.Competed
    }).then(function(dog){
        res.send({
            'Breed': dog.breed,'Age': dog.ageInYears,'Owner': dog.owner
        })
    }).catch(next);
});

代码调用 MongoDB 数据库并查找品种、ageInYears 和所有者类别,并以与品种、年龄和所有者类别关联的 JSON 格式返回它们。

我现在想做一个 .find() 调用获取多个条目,但我似乎无法弄清楚当我有多个条目时如何更改字段的名称

现在,这就是我正在尝试的。它有效,但我不知道如何更改字段的名称。 (注意:对于我不想使用的每个条目,数据库中有更多字段,这就是我没有指定某些字段的原因)。

router.get('/Find',next){
    Dog.find({
        'Date_Time_Competed': req.query.Competed
    },'breed ageInYears owner')
    .then(function(dog){
        res.send(dog);
    }).catch(next);
}); 

有什么建议吗?

解决方法

这有效:

router.get('/Find',function(req,res,next){
    Dog.aggregate([
        {$match: {Date_Time_Competed: req.query.Competed}},{$project: {
            _id: 0,"Breed": "$breed","Age": "$ageInYears","Owner": "$owner",}}
    ]).then(function(dog){
        res.send(dog);
    }).catch(next);
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。