我有一個類(或模型)需要使用另一個類作爲其屬性的一部分,如下所示。MongoDB + Node.js:如何從外部文件使用Schema來創建另一個Schema?
**頭兩個文件**
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
item.js
module.exports = function() {
var ItemSchema = new Schema({
name: String,
cost: Number
});
mongoose.model('Item', ItemSchema);
}
receipt.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,node.js或mongoose.js正在尖叫我說它有一個類型錯誤。
如何從外部文件使用Schema「type」?
我也不確定,我在一些教程中看到它沒有解釋爲什麼。我是新來的這個express.js和mongoose.js的東西。我可以看到這是一個很好的解決方案,但我不明白爲什麼。是一個mongoosejs保留關鍵字。我認爲類型可能也是如此。或者是ref只是程序員編寫的一個變量?這是區分對象類型的唯一方法嗎? – Vongdarakia
@ user3228667:是的,'type'和'ref'是「保留」關鍵字。你使用'ref'不是爲了區分對象類型,而是參考其他模型。 – Amberlamps