gpt4 book ai didi

javascript - MongoDB + Node.js : How to use a Schema from an external file for another Schema?

转载 作者:行者123 更新时间:2023-11-30 17:25:30 26 4
gpt4 key购买 nike

我有一个类(或模型)需要使用另一个类作为其属性的一部分,如下所示。

** 两个文件的标题 **

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”的类型设置为类类型 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;

关于javascript - MongoDB + Node.js : How to use a Schema from an external file for another Schema?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24375865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com