填充引用的Mongoose文档时出错

时间:2015-09-22 14:09:40

标签: node.js mongodb mongoose

我的架构如下所示:

User Schema {
    name: String,
    email: String
}

Job Schema {
    title: String,
    owner: { type: Schema.Types.ObjectId, ref: 'User' },
    helper: { type: Schema.Types.ObjectId, ref: 'User' }
}

用户和作业都使用ObjectId作为其ID类型。

我的部分应用程序要求我查询作业集合以查找符合特定条件的作业。作为此查询的一部分,我执行一组引用的用户文档。有些事情如下:

Job
  .find(query, null, options)
  .populate('owner helper', 'name email')
  .sort(sort)
  .exec(err, function(results) {
    ...Do Something with populated documents
  })

然而,这是一个错误。

{ message: 'Cast to ObjectId failed for value "b" at path "_id"',
  name: 'CastError',
  type: 'ObjectId',
  value: 'b',
  path: '_id' }

我检查了所有用户对象的id,它们看起来都是有效的。我不明白可能导致此错误的原因。

任何帮助都将不胜感激。

0 个答案:

没有答案