我想使用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值 –