我是一个来自 SQL 背景的菜鸟。请提前原谅我的 SQLness。
目前正在开发一个新的客户端项目,其中我需要存储大量数据,这相当简单,但我不确定在 Couchdb 中执行此操作的最佳方法是什么。
这用于员工车辆跟踪。我需要存储 VIN(车辆识别码)、GPSLat、GPSLong、DateTimeStamp。
VIN 永远不会改变,但会有大量与之关联的 GPS 数据。
在 SQL 结构中,这将非常简单 - VIN 表,然后是数据的另一个关系表。
在 Couchdb key 对中,您会建议一遍又一遍地存储 VIN,还是创建 1 个 VIN 作为 key 对并以某种方式存储 GPS 数据?如果是这样,我应该如何继续将 GPS 数据存储为 key 对?
提前感谢 key 对存储方面的专家。
最佳答案
两种方法都可以做到。 Couchdb 支持 linked documents您可以在其中创建一个文档一次并在其他文档中引用它,然后编写一个 View ,该 View 可以使用 include_docs=true
emit
原始文档和链接文档的内容>。
但是由于您的数据非常小,只有一个 json 字段,我建议您将该字段存储在文档本身中,因为您必须将 vin
id 与包含其余部分的文档链接起来无论如何,车辆详细信息。
当您想要通过子文档检索父文档中的许多字段时,链接文档策略非常有用。
关于Couchdb key 对结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22963670/