我正在寻找一种代码解决方案,只能为基于主干,mongodb,nodejs的app的模型编写代码。
存储只能是服务器端,但我仍然需要在服务器和客户端上进行适当的模型定义。在服务器端,我决定使用mongodb。
毕竟我发现的唯一的事情是https://github.com/donedotcom/backbone-mongodb。
我认为我已经很好地理解了骨干,但之前从未使用过mongodb,而且我无法弄清楚如何真正使用backbone-mongodb。有人能告诉我它是如何补充主干,Document和EmbeddedDocument的意图以及它们与Backbone.Model的关系?这与代码共享黑白客户端和服务器有什么关系吗?
当然,我的想法是分享模型定义和验证(主要通过骨干验证完成),而不是服务器和客户端。
谢谢,Viktor
答案 0 :(得分:2)
我刚刚重写了backbone-mongodb
还有an example todo application(继续提交eb935ae7480c18c9d6fcf2f5a2187cdff3d17a13)
答案 1 :(得分:1)
<强> TL; DR 强>
Document
&lt; - &gt; Backbone.Model
Backbone.sync
来读取和写入Node.js上的数据。EmbeddedDocument
没有完全匹配:可能可以通过Backbone-relational实施,需要一些装配。长读
由于MongoDB是一个以文档为中心的数据库Backbone.Model
,因此很适合Mongo的Document。您可以考虑MongoDB的文档,就好像您可以存储可搜索的JSON blob(为了开始使用而进行简化,但仍然如此)。它们或多或少会与Backbones Models完全匹配。 EmbeddedDocument对传统关系系统中的相关表有些对应(再次说明,同样的原因)。它们在Backbone世界中没有完全匹配,但您可以使用Backbone-relational在Node应用程序中处理它们。我没有尝试过,但我做了一个合格的猜测,它需要一定数量的手持。
在Node端,您需要覆盖Backbone.sync
,可能是全局的,以便将Model
个对象读写到MongoDB文档中。
此外,嵌入式文档只是 - 它们是在内部存储的实际数据,而不是独立存储的数据的链接(docs)。也可以做链接,更像传统关系(见同一链接)。
为了能够使用这种组合正确编程,我认为你应该至少阅读一下MongoDB,这里有一些指示: