0

我只想知道当我设置猫鼬连接并定义一些模型时(之前在 app.js 或 wathever 上添加了它们的适当要求),如果模型不存在,将在我第一次运行时自动创建node app.js?

这种逻辑正确吗?

如果没有,我是否必须在我的 mongoDB 集合、模型等之前创建?

当我第一次运行 app.js 时,我正在考虑自动创建 mongo db 集合

谢谢!米歇尔·普兰迪纳

4

1 回答 1

1

模式(和模型)是数据模型的客户端(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 
                       })
                );
于 2013-10-07T14:18:17.293 回答