我一直在关注MEAN堆栈的许多教程,我发现了一个我很难回答的问题(注意:我发现了可能的 duplicate搜索,但不相信它回答了我的问题)
以此代码为例,可以找到here
// app/models/nerd.js
// grab the mongoose module
var mongoose = require('mongoose');
// define our nerd model
// module.exports allows us to pass this to other files when it is called
module.exports = mongoose.model('Nerd', {
name : {type : String, default: ''}
});
完成教程后,我重新编写了代码,尝试复制课程("菜单项"用于限制):
var mongoose = require('mongoose');
module.exports = mongoose.model('Item', {
name: {type: String, required: true},
description: {type: String, require: true},
price: {type: String, required: true},
ingredients: [{
name: {type: String, default: ''},
amt: {type: String, enum: ['None', 'Reg', 'XTRA'], required: true}
}]
});
我将使用界面来创建新的菜单项。我应该按原样保留代码,还是使用Schema?
答案 0 :(得分:0)
好。我正在阅读代码以发布作为差异的示例,然后来到这里。
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var BearSchema = new Schema({
name: String
});
module.exports = mongoose.model('Bear', BearSchema);
然后我注意到模式是内联定义的(我认为?)而不是声明。我认为这是因为稍后,在这个模型中添加更多的模式声明以及方法将会更加清晰。如果有人能给我澄清,我会给你答案!