私はreq.body
から取得したパラメータと、req.user._id
というクエリを渡して、Mongoose Model.find()
関数を使用してデータベースからデータを取得したいと考えています。正しいデータを返さないreq.bodyを使ったマングースクエリ
は、これまでのところ、私がやった私のreq.body
内req.user._id
を配置し、次のように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'フィールドに' req.params.id'フィールドと同じ 'user'フィールドを追加しています。' {status:2、 user: '586a24d9319242157dcd796e}} ' userの値は 'req.params.id'です。 – SalmaFG
問題は実際には 'JSON.stringify'にありました。私は以前にそれを試してみたと思っていたし、うまくいかなかったが、明らかにそうではなかった。どうもありがとう! – SalmaFG
req.body&paramsの2つのフィールドで同じ値を渡すのはなぜですか?また、なぜ関数でそれを上書きするのですか?申し訳ありませんが、私は理解できません。だから、私に次のことを教えてください:**(A)** stausの値2はどこから来たのですか?それは固定されているか、要求の本文に入っていますか? **(B)** req.body.userまたはreq.params.idのObjectId値? –