Couchbase检索中关系的NodeJS文档

问题描述 投票:0回答:1

我仍在争论哪个方向走,并可能保存在自己的文档的某些信息。因此,例如,客户可以具有与每个地址的地址将是它自己的文档,然后在客户DOC将有下地址存储REF键阵列。好处是我可以更新仅仅基于键值这些文档VS不必首先获得客户的文档,发现该地址的数组索引,然后要么修改整个文档或去使用subdoc的更换阵列的内容与索引。当我坚持的是如何获取这些引用subdoc的公司。是N1QL去还是没有的KV API提供一个方法来做到这短短的检索整个客户文档,然后循环直通地址阵列和检索所有引用文档这种方式的唯一途径。我知道奥斯曼提供类似的东西,但我有最新版本的SDK 2.6和奥斯曼帝国的为没有很好地维护的问题。所以,希望有人能分享一些见解什么,以及为什么它的最佳途径。

node.js couchbase couchbase-ottoman
1个回答
1
投票

如果你想依靠键/值,那么你就需要为你所描述做多个查找。我不是很熟悉,奥斯曼:它可能会为你做这一点,但在幕后它仍然是多个键/值操作和/或N1QL。

随着N1QL,您可以进行连接,但同样,在幕后这将最终被键/值拉出来的文件。它只是那些额外的步骤,为您服务。快捷键/值总是将是最快的路线。

如果你仍然在决定是否将数据在多个文件拆分或“非规范化”的数据到一个单一文档的过程中,你应该考虑的一件事是你要去多久访问客户+地址在一起多久你独立去客户/接入。如果你正在读/写客户+地址的时候,考虑把它一个文件内。否则,可以考虑把它在多个文档。

第三个选项是将它存储这两个地方,或者更确切地说,“缓存”客户文档中的地址数据。这是棘手的,因为它可能不同步的,如果你不小心。所以一定要确保它是值得的,你这条路走了。

© www.soinside.com 2019 - 2024. All rights reserved.