MongoDB,Mongoose和Node.js 为什么要申报一个模型?

我是面向文档的数据库的新手。 我的问题是为什么我必须在每次启动应用程序时在MongoDB中声明一个模型? 例如:

mongoose.model('User', { collection: 'user', properties: [ 'created', 'username', 'password', 'email' ]} //Edited: '}' was missing in original post ); 

我想build立所有表一次,并在我的应用程序只饲料或查询数据。 我认为所有的数据架构应该通过CLI或一个特殊的pipe理员(比如PhpMyAdmin for mySql)来设置。

事实certificate,在我的应用程序开始时,每次我声明一个数据模型。 对我来说没有意义。 帮帮我 :)

您需要声明一个模型,因为本质上MongoDB本身只存储集合,并不真正绑定到模式/模型。 Mongoose提供了一种定义模型的方法,但有些驱动程序甚至没有提供一个(请参阅Candy for Ruby)。 这是具有面向文档的数据库的关键。 您并不是真正绑定到模式,并根据需要即时更改数据库的数据结构。