我只想知道当我设置一个猫鼬连接并定义了一些模型(之前在app.js上添加了它们的适当需求),如果模型不存在,在我第一次运行node app.js?时是否会自动创建该模型?
这种逻辑正确吗?
如果没有,是否必须在mongoDB集合、模型等之前创建?
第一次运行app.js时,我正在考虑自动创建mongo集合。
谢谢!米切尔·普兰迪纳
发布于 2013-10-07 14:18:17
模式(和模型)是数据模型的客户端(node.js)表现形式。有些东西,比如您定义的索引,是在第一次使用时创建的(例如,保存文档)。几乎所有其他东西都是延迟创建的,包括集合。
如果希望对模型(及其相关模式)采取一致的行为,则需要确保在访问相关数据库之前加载它们。您把它们放在哪里并不重要,只要在使用之前创建/执行它们。例如,您可以:
app.js
models\Cheese.js
\Cracker.js然后,在app.js中
var Cheese = require('Cheese.js');
var Cracker = require('Cracker.js');当然,假设您已经导出了这些模型:
model.exports = mongoose.model('Cheese',
new mongoose.Schema({
name: String,
color: String
})
);https://stackoverflow.com/questions/19226686
复制相似问题