5

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

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

我想一次构建所有表,并且在我的应用程序中只提供或查询数据。我认为所有数据架构都应该通过 CLI 或特殊的 Admin 设置(比如说 MySql 的 PhpMyAdmin)。

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

4

1 回答 1

8

您需要声明一个模型,因为本质上 MongoDB 本身只存储集合,并没有真正绑定到模式/模型。Mongoose 提供了一种定义模型的方法,但有些驱动程序实际上甚至不提供(参见 Candy for Ruby)。这就是拥有面向文档的数据库的全部意义所在。您并没有真正绑定到模式,而是根据要求动态更改数据库的数据结构。

于 2011-04-19T10:27:51.693 回答