我只想知道当我设置猫鼬连接并定义一些模型时(之前在 app.js 或 wathever 上添加了它们的适当要求),如果模型不存在,将在我第一次运行时自动创建node app.js?
这种逻辑正确吗?
如果没有,我是否必须在我的 mongoDB 集合、模型等之前创建?
当我第一次运行 app.js 时,我正在考虑自动创建 mongo db 集合
谢谢!米歇尔·普兰迪纳
模式(和模型)是数据模型的客户端(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
})
);