猫鼬模式中的参考
Reference in mongoose schema
我有两个不同的架构,我将它们放在两个单独的文件中,但问题是如何引用架构对象 ID?从一个文件到另一个文件。
这基本上是一个文件中的两个模式
var mongoose = require('mongoose')
, Schema = mongoose.Schema
var personSchema = Schema({
_id : Number,
name : String,
age : Number,
stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});
var storySchema = Schema({
_creator : { type: Number, ref: 'Person' },
title : String,
fans : [{ type: Number, ref: 'Person' }]
});
var Story = mongoose.model('Story', storySchema);
var Person = mongoose.model('Person', personSchema);
两个不同文件中的两个模式
1) person.js
var mongoose = require('mongoose')
, Schema = mongoose.Schema
var personSchema = Schema({
_id : Number,
name : String,
age : Number,
stories : [{ type: Schema.Types.ObjectId, ref: "?" }]
});
module.exports = mongoose.model('Person', personSchema);
2) story.js
var storySchema = Schema({
_creator : { type: Number, ref: '?' },
title : String,
fans : [{ type: Number, ref: '?' }]
});
module.exports = mongoose.model('Story', storySchema);
我应该在两个模式文件的 ref 中放什么?因为它们都在一个单独的文件中。
ref 属性只是字符串,它们位于单独的文件中并不重要。
尽管它们是不同的文件,但执行以下操作仍然有效:
var personSchema = Schema({
_id : Number,
name : String,
age : Number,
stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});
var storySchema = Schema({
_creator : { type: Number, ref: 'Person' },
title : String,
fans : [{ type: Number, ref: 'Person' }]
});
我有两个不同的架构,我将它们放在两个单独的文件中,但问题是如何引用架构对象 ID?从一个文件到另一个文件。
这基本上是一个文件中的两个模式
var mongoose = require('mongoose')
, Schema = mongoose.Schema
var personSchema = Schema({
_id : Number,
name : String,
age : Number,
stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});
var storySchema = Schema({
_creator : { type: Number, ref: 'Person' },
title : String,
fans : [{ type: Number, ref: 'Person' }]
});
var Story = mongoose.model('Story', storySchema);
var Person = mongoose.model('Person', personSchema);
两个不同文件中的两个模式
1) person.js
var mongoose = require('mongoose')
, Schema = mongoose.Schema
var personSchema = Schema({
_id : Number,
name : String,
age : Number,
stories : [{ type: Schema.Types.ObjectId, ref: "?" }]
});
module.exports = mongoose.model('Person', personSchema);
2) story.js
var storySchema = Schema({
_creator : { type: Number, ref: '?' },
title : String,
fans : [{ type: Number, ref: '?' }]
});
module.exports = mongoose.model('Story', storySchema);
我应该在两个模式文件的 ref 中放什么?因为它们都在一个单独的文件中。
ref 属性只是字符串,它们位于单独的文件中并不重要。
尽管它们是不同的文件,但执行以下操作仍然有效:
var personSchema = Schema({
_id : Number,
name : String,
age : Number,
stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});
var storySchema = Schema({
_creator : { type: Number, ref: 'Person' },
title : String,
fans : [{ type: Number, ref: 'Person' }]
});