我工作的一个Web应用程序(后端写在Node.js的一个蒙戈-DB),用户可以在其中做出,记录和描述的决定。 我在一个树状结构如下表示此
{
tree: {
root: Node,
nodes: [{ // keeping a reference to all nodes of the tree
index: Number,
node: Node
}],
lastIndex: Number
}
}
其中节点是
{
parent: Node,
children: [Node],
data: {
d1: String,
d2: [String],
d3: Number,
d4: Boolean
// more data fields as above, probably not more than 10-20 fields per node
},
index: Number // this node's index in the tree's node map
}
在Web应用程序(IE浏览器),用户可以执行以下操作:
- 创建一个新的树
- 一个节点添加到树
- 编辑节点的数据
- 删除一个完整的子树
- 更改节点的孩子的顺序
- 加载一棵完整的树
主要行动将是,添加新的节点,并形容他们(填写的数据字段)。 这可以通过鼠标输入来完成大部分,所以如果用户点击很快,他能够创造高达每秒5-10节点。
我想在实时发送这些修改到服务器,并将其存储在数据库中(蒙戈-DB)。 (我也正在考虑在网页上展示的反馈,当前状态保存在服务器上,但我认为这会在稍后的点)。
因此,可以归结为以下要求:
- 大部分时间我将处理上的节点表create-和更新操作的时间(可能是许多创建/每秒每用户更新)。
- 不会有从服务器发送大量数据到客户端(当一个新的树被加载时除外)。
所以,在我的情况,是它更好地使用REST调用或WebSocket连接?
所有帮助真的感谢!