【问题标题】:share backbone code on client and server side with mongodb storage使用 mongodb 存储在客户端和服务器端共享主干代码
【发布时间】:2012-02-28 02:04:12
【问题描述】:

我正在寻找一种解决方案,只对基于主干、mongodb、nodejs 的应用程序的模型进行编码。

存储只能在服务器端,但我仍然需要在服务器和客户端上都定义正确的模型。在服务器端,我决定使用 mongodb。

毕竟我发现的唯一东西是https://github.com/donedotcom/backbone-mongodb

我想我对backbone已经很了解了,但是之前没有使用过mongodb,我不知道如何真正使用backbone-mongodb。有人能告诉我它是如何补充主干的,Document 和 EmbeddedDocument 的用途是什么,以及它们与 Backbone.Model 的关系如何?这与代码共享黑白客户端和服务器有什么关系吗?

当然,我的想法是在服务器和客户端之间共享模型定义和验证(主要通过骨干验证完成)。

谢谢,维克托

【问题讨论】:

    标签: mongodb backbone.js


    【解决方案1】:

    我刚刚重写完backbone-mongodb

    还有 an example todo application(继续提交 eb935ae7480c18c9d6fcf2f5a2187cdff3d17a13)可用

    【讨论】:

      【解决方案2】:

      TL;DR

      • Document Backbone.Model
      • 通过覆盖 Backbone.sync 在 Node.js 上读取和写入数据。
      • EmbeddedDocument 不完全匹配:可能通过 Backbone-relational 实现,需要一些组装。

      长读

      由于 MongoDB 是一个以文档为中心的数据库,Backbone.Model's 将非常适合 Mongo 的 Document's。您可以考虑 MongoDB 的文档,就好像您可以存储可搜索的 JSON blob(..为了入门而过度简化,但仍然如此)。它们或多或少将与 Backbones 模型完全匹配。 EmbeddedDocument 在某种程度上对应于传统关系系统中的相关表(再次过度简化,同样的原因)。它们在 Backbone 世界中没有完全匹配,但您可以使用 Backbone-relational 在您的 Node 应用程序中处理它们。我还没有尝试过,但我有一个合格的猜测,它需要一定程度的手握。

      在 Node 端,您需要覆盖 Backbone.sync,可能是全局地读取和写入 Modelobjects 到 MongoDB 文档。

      此外,嵌入式文档就是这样 - 它们是存储在内部另一个对象的实际数据,而不是指向独立存储的数据的链接 (docs)。也可以做链接,这更像是传统的关系(见同一个链接)。

      为了能够正确地使用这种组合进行编程,我认为您应该至少阅读更多关于 MongoDB 的内容,这里有一些提示:

      【讨论】:

      • 谢谢,我知道除了第一个之外的链接,其他两个与我的问题无关,因为它们在服务器端根本不使用主干
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-02
      • 2018-05-13
      • 1970-01-01
      • 2015-04-22
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      相关资源
      最近更新 更多