node.js + mongoose连接和创建问题

时间:2013-10-07 13:51:38

标签: node.js mongodb

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

这种逻辑是否正确?

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

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

谢谢! Michele Prandina

1 个答案:

答案 0 :(得分: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 
                       })
                );