Backbone集合唯一标识符/使用socket.io同步MongoDB集合

时间:2015-07-27 22:26:17

标签: javascript node.js mongodb backbone.js

我在后端使用MongoDB和Node.js,在前端使用Backone。 Backbone模型具有唯一的ID(cid和idAttribute),可以识别后端的模型。但Backbone集合 not 对我的知识有一个唯一的标识符,这就是为什么我问下面文本的其余部分出现的问题的一个原因:

在MongoDB中,集合的名称为字符串,表示其唯一标识符。将MongoDB中的集合字符串名称与前端的Backbone集合的某种唯一字符串名称进行匹配的最佳方法是什么?

Backbone集合是否具有某种唯一标识符?创建一个的最佳方法是什么?

我问的原因是因为通常我们使用集合的URL属性将Backbone集合与后端匹配。但是,我开始在我的应用程序中包含套接字(socket.io)。它是这样的:我有一个监听MongoDB oplog的辅助服务器(与应用程序服务器分开)。在oplog中插入/更新/删除事件后,辅助服务器向我的前端发送一个套接字消息,其中包含:<dbname>.<collectionname>的BSON / JSON信息。类似于:mainDB.users_collection

所以在我的前端,我需要将Backbone集合与MongoDB集合的文字字符串表示相匹配。现在,我可以在Backbone集合上设置一个属性,比如“uniqueName”,但我想知道是否有更好的练习。之前有人做过这件事,我想向他们学习。好悲伤。

1 个答案:

答案 0 :(得分:1)

将Backbone与套接字集成的最常用方法是更改​​Backbone.Sync对象。默认的Sync采用传统的REST API,并且在使用不同的后端时会被更改。

或者,您可以使用现有插件,例如https://noveogroup.github.io/backbone.iobind/