Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 当Mongoose中的架构字段类型为“ObjectId”时,是否需要属性“ref”?_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 当Mongoose中的架构字段类型为“ObjectId”时,是否需要属性“ref”?

Node.js 当Mongoose中的架构字段类型为“ObjectId”时,是否需要属性“ref”?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我有一个mongoose模式示例,如下所示: new Schema( { title: { type: String, }, digest: { type: String, }, owner: { type: ObjectId, ref: 'User' } } ) 我想知道,当字段类型为ObjectId时,propertyref是必需的,就像owner字段一样。不,不是必需的,但是如果您有它

我有一个mongoose模式示例,如下所示:

new Schema(
  {
    title: {
      type: String,
    },
    digest: {
      type: String,
    },
    owner: {
      type: ObjectId,
      ref: 'User'
    }
  }
)
我想知道,当字段类型为
ObjectId
时,property
ref
是必需的,就像
owner
字段一样。

不,不是必需的,但是如果您有它,您将能够轻松加载引用的实体

如果没有
ref
,它将只是一个包含ObjectId的普通字段。

不,不是必需的,但是如果有它,您将能够轻松加载引用的实体


如果没有
ref
,它将只是一个包含ObjectId的普通字段。

是的,如果没有ref,您需要在填充时声明模型:{path:'owner',model:'User'}。如果该字段引用不同的模型,这可以为您提供更大的灵活性。是的,如果没有ref,您需要在填充时声明模型:{path:'owner',model:'User'}。如果字段引用不同的模型,这可以为您提供更大的灵活性。
Kitten.findOne().populate('owner').exec(function (err, kitten) {
  console.log(kitten.owner.name) // Max
})