0

10時間試した後、これについて頭を悩ませることはできません:

もし私が

users.findById(req.body.user_id,function(e,doc){});

およびconsole.logドキュメントが返されましたが、すべて問題ないようです:

{ _id: 54dcad6de4b01007caacb0cd,
  username: 'realizertest',
  password: '******************************',
  first_name: 'Realizer',
  second_name: 'Test',
  display_name: 'Realizer Test',
  email: 'system@realizerlabs.com' }

ただし、含まれるフィールドにアクセスしようとすると、たとえば次のようになります。

user = users.findById(req.body.user_id,function(e,doc){});
var user_email = user.email;

私はただ未定義になります。ユーザー オブジェクトは次のようになります。

{ col:
   { manager:
      { driver: [Object],
        helper: [Object],
        collections: [Object],
        options: [Object],
        _events: {} },
     driver:
      { _construct_args: [],
        _native: [Object],
        _emitter: [Object],
        _state: 2,
        _connect_args: [Object] },
     helper: { toObjectID: [Function], id: [Ob
     name: 'users',
     col:
      { _construct_args: [],
        _native: [Object],
        _emitter: [Object],
        _state: 2,
        _skin_db: [Object],
        _collection_args: [Object],
        id: [Object],
        emitter: [Object] },
     options: {} },
  type: 'findOne',
  opts: { fields: {}, safe: true },
  domain: null,
  _events:
   { error: [ [Function], [Function] ],
     success: [ [Function], [Function] ] },
  _maxListeners: 10,
  emitted: {},
  ended: false,
  success: [Function],
  error: [Function],
  complete: [Function],
  resolve: [Function],
  fulfill: [Function],
  reject: [Function],
  query: { _id: 54dcad6de4b01007caacb0cd } }

私も試しましuser.query.emailたが、同じ結果が得られました。

findById は明らかに、この方法で使用できる JSON オブジェクトを返しません。

これらのフィールドにアクセスするにはどうすればよいですか?

4

1 に答える 1