私はreq.userオブジェクト上のblockedUsersという配列にアクセスしようとしていますが、未定義に戻ってきます。 req.userには他の配列とキーと値のペアがあり、問題なくアクセスできます。req.user上のオブジェクト
私console.log(req.user);
た場合は、その後、私は、次を得る:
{ _id: 57ebbdedf814b103c81e0b3d,
// ... loads of other key:value pairs ...
lastLogin: 1477934742883,
__v: 0,
blockedUsers: [ '57ebcca8f814b103c81e0b4f' ], // This is the one I want to access!
comMethod: [ 'face to face', 'email', 'whatsapp', 'skype' ],
photos:
[ '/uploads/1fb7f43df2eecafb01138230c6cd87351475067373516.jpeg',
'/uploads/3398bcddd39be966e8300a8b9f252b181475067373518.jpeg' ] }
私はblockedUsers他のプロパティのいずれかにアクセスすることはできませんが。
私はJSON.stringify(req.user.blockedUsers);
を試しましたが、それでも未定義です。
DB内のユーザーにオブジェクトを追加するときにオブジェクトをJSON.string化しようとしましたが、同じ結果が得られます。
場合、それは便利ですが、ここで私は、データベース内のユーザーにblockedUsersを追加するコードのビットです:
app.post('/users/block', function(req,res){
User.findByIdAndUpdate(
req.body.blockingUser, // the id of the user doing the blocking
{$push: {blockedUsers: req.body.blockedUserId}}, // the id of the user being blocked
{upsert: true},
// ... error handling and res.redirect - this all seems to work fine
私は差がblockedUsersとREQの他のプロパティとの間にあるものを見ることができません。ユーザーは、私は何度も何度も間違いやミスをチェックしてきました。どんな指導もいただければ幸いです!
私は謝罪しますが、私は混乱しています。あなたは 'req.user.blockedUsers'にアクセスしたいのですが、あなたは' req.body.blockedUsers'を文字列化しようとしています。req.user 'req.body'ではなく? –
ああありがとう!それはただのタイプミスです - 私は "stringify req.user.blockedUsers"と言っていました。私は私の質問を更新します。 –
'blockedUsers'は配列ですか? – adeneo