【问题标题】:MongoDB, Mongoose and Node.js. Why declare a model?MongoDB、Mongoose 和 Node.js。为什么要声明模型?
【发布时间】:2013-01-08 15:17:27
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: mongodb node.js mongoose


    【解决方案1】:

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

    【讨论】:

    • 正如@neebz 所说。我认为关于面向文档的数据库要记住的重要一点是它更像是一个“对象”存储。您可以创建任意对象并将它们保存到“集合”中。这意味着没有预先定义的列(在 SQL 意义上)。
    猜你喜欢
    • 1970-01-01
    • 2017-08-05
    • 2012-08-17
    • 1970-01-01
    • 2011-04-16
    • 2011-09-08
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多