如果它还没有在mongoDB中自动创建一个集合?

时间:2014-08-20 12:53:28

标签: mongodb collections mongoose schema

我正在使用mongoose为节点创建护照身份验证。我没有任何名为"用户"在我的数据库中。但是在使用下面的模式创建新用户时

var mongoose = require('mongoose');

 module.exports = mongoose.model('User',{
id: String,
username: String,
password: String,
email: String,
firstName: String,
lastName: String
});

它会自动创建新的"用户"采集。 这怎么可能?

2 个答案:

答案 0 :(得分:11)

在这里,mongoose将检查MongoDB中是否存在名为" USER" 的集合,如果它不存在则会创建它。原因是,mongoose将' 附加到指定的型号名称。在这种情况下,' User' 最终会创建一个名为' Users' 的新集合。如果您已将模型名称指定为' Person' ,则最终会创建一个名为' Persons' 的集合具有相同名称的集合不存在。

答案 1 :(得分:0)

猫鼬将模型名称复数,并通过默认将其用作集合名称。如果您不想使用默认行为,则可以提供自己的名称:

snapshot.docs

参考:https://mongoosejs.com/docs/guide.html#collection