让我澄清一下问题的标题。
我正在实现一个 Web 应用程序的后端。
这就是我想在一个.html
文件中创建的
- 用户在地图上插入点、线或多边形。
- 用户使用文本数据填写表单。这些数据与她在地图上插入的几何图形有关。
- 用户通过 html5 websockets/drag'n'drop 上传照片和视频。这些也与她在地图上插入的几何图形有关。
页面底部只有一个按钮,名为“全部保存”,可一次将所有这些数据保存在数据库中(插入)。
问题?我在数据库中有两个单独的表。一个名为“pins”,将获取几何数据和表单数据。
另一个名为“多媒体”,将获取图像/视频。
现在“多媒体”有一个名为“multipin”的列,其中包含一个“pins”id,所以我可以将 pin 和多媒体联系起来。
所有包含 id 的列都是“SERIAL”(每次插入,id 自动增长 +1)。
我在想,如果我同时进行两次插入,我就无法获得新的“pins”id并将其插入“multimedia”的“multipin”列。我必须等待创建新的“pins”id,然后将其插入“multipin”。
所以,两个插入(?)我想出的解决方案是创建三个html
文件。首先,用户插入几何和表单数据。点击一个名为“单击此处添加多媒体”的按钮。现在这个按钮将数据发送到另一个插入“pins”的文件并获取新的id。重定向到第三个文件并发送新的“引脚”。所以现在用户可以插入照片/视频并且代码知道“pins”id,所以可以把它放在“multipin”中。
这听起来不错?有没有更好的方法或策略?
对于“一次保存”版本,我在想 websockets ......对于“3 个文件版本”?我应该只为多媒体使用“传统”ajax 和 websockets 吗?
我为这个大问题道歉。还有我的英语(不是我的母语)
感谢您的时间
斯莱文