Couchbase-使用密钥前缀检索多个文档

Couchbase-使用密钥前缀检索多个文档,couchbase,couchbase-nodejs-sdk,Couchbase,Couchbase Nodejs Sdk,在Couchbase DB中,是否可以使用key prefix作为查询字符串检索多个文档,并返回所有key以提供的key prefix开头的key值(比如操作符之类的东西)?不使用视图或查询/索引 我正在按照本演示文稿第51张幻灯片所示的方式设计钥匙 如果您不想使用视图或n1ql查询,在不知道文档的确切键的情况下,无法检索文档。也就是说,只有在有办法提前在客户端生成可能的密钥时,才能检索基于前缀的密钥,例如User-1、User-2。。。用户 但是,您可以执行n1ql中所述的前缀查询,而无需创建

在Couchbase DB中,是否可以使用key prefix作为查询字符串检索多个文档,并返回所有key以提供的key prefix开头的key值(比如操作符之类的东西)?不使用视图或查询/索引

我正在按照本演示文稿第51张幻灯片所示的方式设计钥匙

如果您不想使用视图或n1ql查询,在不知道文档的确切键的情况下,无法检索文档。也就是说,只有在有办法提前在客户端生成可能的密钥时,才能检索基于前缀的密钥,例如User-1、User-2。。。用户


但是,您可以执行n1ql中所述的前缀查询,而无需创建任何其他索引,因为使用n1ql,您将在所有文档键上都有一个主索引。因此,您可以执行类似于
“选择META(myBucket).id FROM myBucket WHERE META(myBucket).id”前缀%";

您不希望为此使用视图的原因是什么?请记住,您可以让视图或查询只告诉您需要获取的实际ID,然后您可以使用正常的KV APIsI获取这些ID,只需要一个额外的N1QL!这是非常有用的把戏:)谢谢。我想我应该更喜欢使用一个额外的N1QL,而不是在父用户:id{}对象中保存子文档的引用数组,这需要在每次插入/删除子文档时更新。你认为呢?这取决于你的性能要求。使用参考文档获取子文档的ID将加快检索速度。然而,维护本质上是一个手动索引的内容将需要更多的开发工作。我想说,如果性能足够好,请使用最简单的方法,即本例中的n1ql。@DavidOstrovsky我们使用的是与您提到的完全相同的查询,但是除非创建索引,否则我们看不到任何数据。我们使用的是couchbase版本:4.0.0-4051-1