我有一个类(或模型),需要使用另一个类作为其属性的一部分,如下所示。
**两个文件的标题**
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
item.js
module.exports = function() {
var ItemSchema = new Schema({
name: String,
cost: Number
});
mongoose.model('Item', ItemSchema);
}
receive.js
ItemModel = require('./item.js');
var Item = mongoose.model('Item');
module.exports = function() {
var LineItemSchema = new Schema({
item: Item,
amount: Number
});
var LineItem = mongoose.model('LineItem', LineItemSchema);
var ReceiptSchema = new Schema({
name: String,
items: [LineItemSchema]
});
mongoose.model('Receipt', ReceiptSchema);
}
在LineItem类中,我试图将变量'item'的类型设置为类类型,Item,node.js或mongoose.js对此大声疾呼,说这是类型错误。
如何使用外部文件中的模式“类型”?
我不知道为什么要将所有这些包装在匿名函数中。但是要从另一个架构中引用一个架构,可以执行以下操作:
var LineItemSchema = new Schema({
item: {
type: Schema.ObjectId,
ref: 'Item'
},
amount: Number
});
当然,您需要使用Schema对象:
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句