Couchdb key 对结构

标签 couchdb nosql

我是一个来自 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=trueemit 原始文档和链接文档的内容>。

但是由于您的数据非常小,只有一个 json 字段,我建议您将该字段存储在文档本身中,因为您必须将 vin id 与包含其余部分的文档链接起来无论如何,车辆详细信息。

当您想要通过子文档检索父文档中的许多字段时,链接文档策略非常有用。

关于Couchdb key 对结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22963670/

相关文章:

view - Couchdb 查看查询

mongodb - 如何对 MongoDB 集合中所有文档的键值求和

graph - neography 从索引中获取实际节点或节点 ID

sql - 用于 Reactjs 和 React Native 应用程序的 Google Firestore (NoSQL) 与 PostgreSQL (SQL)

javascript - 如何通过传递 ID 数组作为 Google 数据存储中的输入来检索实体?

nosql - CQRS 数据存储方式 Nosql 或 Sql Server

apache - PouchDB View 按键查找

couchdb - 在 nano 中更新 CouchDB 文档

ruby-on-rails - Ruby on Rails 的 Cassandra、mongodb 或 couchdb

database - 使用 cURL 创建 couchdb 独立附件