Node.js 猫鼬:指其他模型的类型
我有这个: models/record.jsNode.js 猫鼬:指其他模型的类型,node.js,mongodb,mongoose,mongoose-schema,mongoose-models,Node.js,Mongodb,Mongoose,Mongoose Schema,Mongoose Models,我有这个: models/record.js var mongoose = require("mongoose"); var RecordSchema = new mongoose.Schema({ address : require("./address").Address }); var Record = mongoose.model('Record', RecordSchema); module.exports = { Record: Record } models/addr
var mongoose = require("mongoose");
var RecordSchema = new mongoose.Schema({
address : require("./address").Address
});
var Record = mongoose.model('Record', RecordSchema);
module.exports = {
Record: Record
}
models/address.js
var mongoose = require("mongoose");
var AddressSchema = new mongoose.Schema(
{
streetLine1: String,
streetLine2: String,
city: String,
stateOrCounty: String,
postCode: String,
country: require("./country").Country
});
var Address = mongoose.model('Address', AddressSchema);
module.exports = {
Address: Address
}
models/country.js
var mongoose = require("mongoose");
var CountrySchema = new mongoose.Schema({
name: String,
areaCode: Number
});
var Country = mongoose.model('Country', CountrySchema);
module.exports = {
Country: Country
}
它实际上显示了这个错误:
类型错误:在国家/地区
你试过嵌套模式吗?只能使用参照或阵列进行嵌套
我试图创建一个模型,其中很少有类型是另一个模型。如何存档?这里的问题是,您正在从country.js导出一个模型,并通过在地址模式创建中要求使用该模型来使用该模型。创建嵌套架构时,属性的值应为架构对象而不是模型
将您的country.js更改为:
var mongoose = require("mongoose");
var CountrySchema = new mongoose.Schema({
name: String,
areaCode: Number
});
module.exports = {
Country: CountrySchema
}
这里的问题是,您正在从country.js导出一个模型,并在地址模式创建中使用相同的模型。创建嵌套架构时,属性的值应为架构对象而不是模型
将您的country.js更改为:
var mongoose = require("mongoose");
var CountrySchema = new mongoose.Schema({
name: String,
areaCode: Number
});
module.exports = {
Country: CountrySchema
}