如何在Python上的Couchbase中执行类似“SELECT DISTINCT(HOSTNAME)from *”的查询

时间:2014-12-28 22:07:40

标签: python mysql couchbase nosql

我刚开始在Python上使用Couchbase,这是我第一次使用非SQL数据库。我试图移植一些代码。我有一个旧的SQL查询,从表中选择唯一的主机名。我如何在Python中为Couchbase编写该查询?在我的Couchbase设计中,主机名是JSON文档的一部分,其中有许多"行"。

谢谢你, 维吉尔。

1 个答案:

答案 0 :(得分:1)

如果您已将每个主机名存储在Couchbase中的其他JSON文档中,则可以使用N1QL选择它:

SELECT DISTINCT hostname FROM mybucket

如果您有一个存储阵列中所有主机名的JSON文档,那么您可以像这样选择它(使用N1QL):

SELECT DISTINCT myhostnames[0].hostname FROM mybucket

e.g。每个JSON doc都是这样的:

{
"myhostnames": [
        {
          "hostname": "host1"
        },
        {
          "hostname": "host2"
        }
      ]
}

另见N1QL tutorial