我是面向文档的数据库的新手。我的问题是为什么每次我的应用程序启动时都必须在MongoDB中声明一个模型?例如:
mongoose.model('User', {
collection: 'user',
properties: [
'created',
'username',
'password',
'email'
]} //Edited: '}' was missing in original post
);
我想构建所有表ONCE,并且在我的应用中只提供或查询数据。我认为所有数据架构都应该通过CLI或特殊管理员设置(比如说mypql的PhpMyAdmin)。
事实证明,在我的应用程序开始时,我每次都声明一个数据模型。对我没有意义。帮助:)
答案 0 :(得分:8)
您需要声明一个模型,因为MongoDB本身只存储集合,并不真正绑定到模式/模型。 Mongoose提供了一种定义模型的方法,但有些驱动程序甚至没有提供一个模型(参见Candy for Ruby)。这就是拥有面向文档的数据库的重点。您并没有真正绑定到模式,并根据需要动态更改数据库的数据结构。