我正在尝试在节点中的模型中引用另一个对象,
User = new Schema({
username: {
type: String,
index: {unique: true}
}
});
Idea = new Schema({
Creator: {
type: User
}
});
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误Undefined type at "creator" Did you try nesting Schemas? You can only nest using refs or arrays.我相信我想使用refs,但无法找到它的文档,可以有人帮助我.谢谢
Dob*_*boy 34
我在这里找到了我自己问题的答案.
User = new Schema({
username: {
type: String,
index: {unique: true}
}
});
Idea = new Schema({
Creator: {
type: Schema.ObjectId,
ref: 'User'
}
});
Run Code Online (Sandbox Code Playgroud)
doo*_*ent 16
我想对此问题添加回复,因为这是Google的第一个结果.
不,你不能使用嵌套架构,因为其他回复说.但是您仍然可以在不同的模式中使用相同的对象.
// Regular JS Object (Not a schema)
var Address = {
address1: String,
address2: String,
city: String,
postalcode: String
};
var Customer = new Schema({
firstname: String,
lastname: String,
address: Address
});
var Store = new Schema({
name: String,
address: Address
});
Run Code Online (Sandbox Code Playgroud)
这样,您可以修改地址对象,以便在共享对象的所有模式上进行更改.
| 归档时间: |
|
| 查看次数: |
10810 次 |
| 最近记录: |