问题描述
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);
});