如何在couchbase上查询特定数据?

时间:2013-05-23 16:03:17

标签: database nosql couchbase

如果我的问题不适合本论坛,请告诉我。 我有一个关于如何使用couchbase查询某些特定数据的问题(使用视图与否)。

这是我的问题: 我有很多记录(很好的10.000.000),其代码如下:

01 03 08 14 20 32 40 45 ...

03 07 09 14 28 30 36 42 43 51 ...

03 04 08 10 30 31 48 49 56 63 ...

这些记录可以有从01到90的50个数字。记录中没有重复的数字,并且没有重复的记录包含所有相同的50个数字。

我想要的是一种快速查找的方法,哪些记录有数字(例如)03,06,20,34,38,50,55,79。组合可以有任何类型的数字(来自01至90),任何数字(从01到50)。

我知道如何使用mysql,但我很确定它可以使用couchbase完成,我只是无法弄清楚如何。使用mysql,我花了大约20秒,这是不合适的。我需要一些能够在大约2秒或更短时间内完成此操作的解决方案。

我是使用couchbase的新手。我真的很喜欢这个工具,我认为这取决于任务。 有人可以帮我吗?

如果这不是这个问题的地方,请告诉我。如果可能的话,请告诉我在哪里可以找到解决方案。

我正在学习沙发基础,欢迎任何帮助。 谢谢。

PS。:如果您有更合适的解决方案,请告诉我。

1 个答案:

答案 0 :(得分:1)

例如,您可以使用像这样的唯一地图函数构建视图

function(doc, meta) {
  for (var i = 0; i < doc.codes.length; ++i) {
    emit(doc.codes[i])
  }
}

例如,您将其存储为_design/test/_view/codes,以便您可以使用?keys=[3,6,20,34,38,50,55,79]

进行查询