0

だから私は少し問題があります.Nodeに入ったばかりなので、優しくしてください!

私は以下を持っています(Passportを使用):

User.findOne({}, '_id username interests', {
    _id: req.user._id
}, function(err, user) {
    if (err) return;
    console.log(req.user._id);
    console.log(user._id);
    res.json(user);
});

ただし、2 つの console.log は異なる ID を生成します。理由がわからない??これはどのように可能ですか?

私が言ったように、私は Node.js を初めて使用するので、少し苦労しています...

4

1 に答える 1

0

findOne最初の引数としてクエリを渡す必要があります。あなたの例では、「データベースからランダムなユーザーを私に与えてください」という意味の空の引数を渡しています。

これを試して:

User.findOne({ _id: req.user._id }, '_id username interests', function(err, user) {
  // in case of errors, send back a response too!
  if (err)
    return res.send(500);
  ...
});

FWIW: Mongoose を使用しているように見えるので、findByIdこのような場合もあります。

于 2013-06-25T05:46:51.007 に答える