找不到参考ID为

时间:2019-04-24 13:38:03

标签: node.js mongoose mongoose-schema mongoose-populate

我的应用程序中有一个成员,

const member = new Schema({
  name: {
    type: String,
    required: false,
  },
  organization: {
    type: Schema.Types.ObjectId,
    ref: 'Organization',
    required: true,
  },
});

我很难按组织ID查找成员。即使我首先使用以下查询通过ID查找成员

const member1 = await Member.findById(id).populate('organization')

,然后尝试使用其组织ID查找同一成员

const member2 = await Member.findOne({organization: member1.organization});

member2返回为空。

我想念什么?我真的不明白为什么member2在这里为null。 member1组织也不为空。我发现的有关mongodb的所有内容都表明我的方法应该可行,我在哪里出错呢?

已解决: 我在运行测试时发生了错误。我的测试数据已插入到数据库中,例如

  {
    _id: Types.ObjectId('5acdda00ad63c400142c22ec'),
    email: 'email',
    password: 'hash',
    organization: '5ce474e00000000000000000',
  },

本来应该

  {
    _id: Types.ObjectId('5acdda00ad63c400142c22ec'),
    email: 'email',
    password: 'hash',
    organization: Types.ObjectId('5ce474e00000000000000000'),
  },

0 个答案:

没有答案