我正在尝试在我的MEAN Stack Web应用程序中查询我的mongoDB数据库,方法是发送一个带有我想在数据库中找到的值的POST请求。
这是我正在做的:
app.post('/api/persons',function(req,res){
console.log("I received a POST request on the DB. Querying :");
console.log(req.body);
db.persons.find(req.body,function(err,doc){
if(err){
console.log("The request didn't work:"+err+".");
}else{
res.json(doc);
console.log("The request was successful.")
}
});
})
代码有效,但前提是我输入确切的值。
例如,如果我搜索一个 22 岁的人,我将只找到文档 { "年龄": 22 } 而不是文档 { "姓名": "卡塔琳娜", "年龄": 22 }。
如果我搜索一个 22 岁的人,发送的对象是
Object {age:22}
如何将所有相关文档获取到查询中?
编辑:这些数据不再是我使用的,请参阅下
编辑2:我想问题是在req.body中发送的值是嵌套的。是否可以自动更改
{ physiological_data: { age: 5, gender: 'M' } }
自
{ 'physiological_data.age':5, 'physiological_data.gender':'M' } ???
在
查询中使用空{}。
app.post('/api/persons',function(req,res){
db.persons.find({}, req.body,function(err,doc){
if(err){
console.log("The request didn't work:"+err+".");
}else{
res.json(doc);
console.log("The request was successful.")
}
});
})