我想使用Mongoose Model.find()
函数从数据库中检索数据,将从req.body
获得的任何参数以及参数req.user._id
作为我的查询传递。使用req.body不能返回正确数据的猫鼬查询
到目前为止,我所做的事情就是把我req.user._id
和req.body
然后将它们里面Post.find()
如下:
getUserPosts: function(req, res) {
req.body.user = "" + req.params.id;
var query = JSON.stringify(req.body);
Post.find(query, function(err, posts) {
if(err) return res.status(500).json({error: unknownError});
else if(posts) return res.status(200).json({posts});
});
}
的问题是;我不断收到与我发送的查询不符的数据结果。我可能在这里做错了什么?
我在'req.body'中添加了一个字段'user',它等于'req.params.id'字段,因此我可以发送如下查询:'{status:2, user:'586a24d9319242157dcd796e'}'用户的值是'req.params.id'。 – SalmaFG
这个问题真的是'JSON.stringify'。我以为我之前没有尝试过它,它并没有工作,但显然不是。非常感谢! – SalmaFG
为什么在req.body&params的两个字段中传递相同的值?还有为什么在函数中覆盖它?对不起,但我无法理解。所以,请告诉我以下几点:**(A)** staus的值2来自哪里?请求体是固定的还是收到的? **(B)** req.body.user或req.params.id中的ObjectId值 –