Node.js MongoJS find太具体了

Node.js MongoJS find太具体了,node.js,mongodb,mean-stack,mongojs,Node.js,Mongodb,Mean Stack,Mongojs,我试图在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,func

我试图在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岁的人,我将只找到文档{“age”:22},而不是文档{“name”:“Catarina”,“age”:22}

如果我搜索一个22岁的人,发送的对象是

 Object {age:22}
如何获取查询的所有相关文档

编辑:这些数据不再是我使用的数据,请参见下


EDIT2:我想问题在于req.body中发送的值是嵌套的。是否可以自动更改

{ physiological_data: { age: 5, 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.")
        }
    });
})

我不明白你的意思。你能显示你的帖子请求数据吗?嘿,谢谢,我改了,请看下面的答案;)嘿,谢谢你的回答,但是我得到了:请求不起作用:MongoError:>1字段在obj:{}。我需要查看req.body,你能在这里发布吗?是的,实际上,我更改了我的值,req.body是
{评估:{},考试:{},设置:{},生理数据:{年龄:5,性别:'M'}
,在我的数据库中,我想找到的值与此完全相同,但是评估、考试和设置字段不是空的,现在如果我设法发送{physical_data:{age:5,gender:M'},查询就可以工作了。}。但是为什么我尝试发送{评估:{S1:{present},生理学数据:{年龄:5,性别:'M'}}即使数据库中有一个也不起作用?如果我忘记了一个括号中的一个字段,这似乎不起作用。例如,如果我只做{physical_data:{age:5}},它不会显示任何内容,我猜问题在于该值是嵌套的。是否可以自动将
{生理数据:{年龄:5,性别:'M'}}
更改为
{生理数据.年龄:5,生理数据.性别:'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.")
        }
    });
})