【发布时间】:2018-04-10 18:47:54
【问题描述】:
我有 2 个架构 products 和 orders 如下所示:
products.js
var mongoose = require('mongoose');
const productsSchema = mongoose.Schema({
prod_name : {
type: String,
required: true
},
qty : {
type: Number,
required: true
},
price : {
type: Number,
require: true
}
});
mongoose.model('Products', productsSchema);
orders.js
const mongoose = require('mongoose');
const ProductsModel = mongoose.model('Products');
const OrdersSchema = mongoose.Schema({
order_date : {
type: Date,
required: true
},
sum : {
type: Number,
required: true
},
products: [ProductsModel]
});
const Orders = module.exports = mongoose.model('Orders', OrdersSchema);
app.js 我在哪里引用文件
var express = require('express');
var mongoose = require('mongoose');
var app = express();
const contact = require('./routes/contacts');
const product = require('./routes/products');
const order = require('./routes/orders');
mongoose.connect('mongodb://localhost:27017/contactlist')
const port = 3000;
app.use('/contacts', contact);
app.use('/products', product);
app.use('/orders', order);
app.listen(port, () => {
console.log('Server started at port ' + port);
})
在上面的orders.js 我试图包含产品架构及其给出的以下错误
MissingSchemaError: Schema hasn't been registered for model "Products".
我想将产品数组存储在相同的订单模式中。
我哪里做错了?
【问题讨论】:
-
你能展示你整合
products.js和orders.js的代码吗? -
用最新的
products.js和orders.js更新了问题 -
请说明您在哪里包含这些文件
-
请检查更新的问题