1
我试图通过用户ID和所选字段和项目找到我的数据库文档的特定条目。我希望项目对象被返回。这是文档结构:Mongodb findOne对象按ID排列
{
"_id": ObjectId("58edfea4b27fd0547375eeb4"),
"user_id": ObjectId("58d2dd4c8207c28149dbc748"),
"calories": 2000,
"date": 20170312,
"snacks": [ ],
"dinner": [
{
"nutrients": {
"protein": "11.6",
"carbs": "29.4",
"fat": "7.9"
},
"servings": "75",
"calories": 750,
"name": "Meat feast stone baked pizza"
},
{
"nutrients": {
"protein": "6.8",
"carbs": "54",
"fat": "30.6"
},
"servings": "25",
"calories": 550,
"name": "Mc Coy's Cheddar and onion"
}],
"lunch": [],
"breakfast": [],
}
我做了什么至今获得用户ID,日期,然后选择餐和项目搜索。即时获取返回的是整个膳食数组,但我只想要食物项目对象返回。
user_food.findOne({user_id : req.session.user_id, date: today},{'dinner': 'Meat feast stone baked pizza'},function(err, item){
if(err){
console.log("something went wrong: " + err);
return res.status(500).send(err);
}
else{
console.log(item);
return res.status(200).send(item);
}
});
被退回什么IM是这样的:
"dinner": [
{
"nutrients": {
"protein": "11.6",
"carbs": "29.4",
"fat": "7.9"
},
"servings": "75",
"calories": 750,
"name": "Meat feast stone baked pizza"
},
{
"nutrients": {
"protein": "6.8",
"carbs": "54",
"fat": "30.6"
},
"servings": "25",
"calories": 550,
"name": "Mc Coy's Cheddar and onion"
}]
我要的是简单的:
{
"nutrients": {
"protein": "11.6",
"carbs": "29.4",
"fat": "7.9"
},
"servings": "75",
"calories": 750,
"name": "Meat feast stone baked pizza"
}
谢谢你亲切的陌生人。是的,这正是我需要的。与MySQL风格查询相比,Mongodb很难学习。我会给位置操作员一个阅读。 再次感谢 –