标签: sql++

Couchbase 参数化 N1QL 查询 IN 语句

使用com.couchbase.client, java-client版本2.2.7我一直无法得到一个 n1ql 查询工作,它使用带有多个项目的 IN 语句,请参阅我的示例查询和下面的 java 代码

public int getCountForDuration(Long startTime, Long endTime, String ids){
    JsonObject placeHolders = JsonObject.create().put("ids", ids).put("startTime", startTime).put("endTime", endTime);
    N1qlQuery query = N1qlQuery.parameterized(COUNT_STATEMENT, placeHolders)            
    N1qlQueryResult result = bucket.query(query);
    ...
}

public static final String COUNT_STATEMENT = "select count(*) as count " +
            "from bucketName " +
            "where docType = 'docId' " +
            "and (id IN [$ids]) " + <----- OFFENDING LINE
            "and publishTimestamp between $startTime and $endTime";
Run Code Online (Sandbox Code Playgroud)

我尝试ids 使用 (')、(") 和 …

java couchbase sql++

1
推荐指数
1
解决办法
2014
查看次数

如何索引嵌套数组

如何在文档上方建立索引(Couchbase 中的 N1QL 查询)以加快嵌套数组中 SerialNumber 字段的搜索速度(doc => groups => items => item.SerialNumber)?

样本:

{
  "Id": "0012ed6e-41af-4e45-b53f-bac3b2eb0b82",
  "Machine": "Machine2",
  "Groups": [        
    {
      "Id": "0fed9b14-fa38-e511-893a-001125665867",
      "Name": "Name",
      "Items": [
        {
          "Id": "64e69b14-fa38-e511-893a-001125665867",
          "SerialNumber": "1504H365",
          "Position": 73
        },
        {
          "Id": "7be69b14-fa38-e511-893a-001125665867",
          "SerialNumber": "1504H364",
          "Position": 72
        }
      ]
    },
    {
      "Id": "0fed9b14-fa38-e511-893a-001125665867",
      "Name": "Name",
      "Items": [
        {
          "Id": "64e69b14-fa38-e511-893a-001125665867",
          "SerialNumber": "1504H365",
          "Position": 73
        },
        {
          "Id": "7be69b14-fa38-e511-893a-001125665867",
          "SerialNumber": "1504H364",
          "Position": 72
        }
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我的查询:

CREATE INDEX idx_serial ON `aplikomp-bucket` 
(ALL ARRAY(ALL …
Run Code Online (Sandbox Code Playgroud)

indexing json couchbase sql++

1
推荐指数
1
解决办法
381
查看次数

包含对象查询列表的 N1QL 文档

我对 N1QL 查询相当陌生。我有一些这样的文件。

[
  {
     "id":"id_1",
     "data":{
        "name":"name_1"
     },
     "type":"type_1"
  },
  {
     "id":"id_2",
     "data":{
        "name":"name_2"
     },
     "type":"type_2"
  },
  {
     "id":"id_3",
     "data":{
        "name":"name_3"
     },
     "type":"type_3"
  }
]
Run Code Online (Sandbox Code Playgroud)

我应该创建什么索引才能获取所有具有 的文档"type"="type_3"

couchbase sql++

1
推荐指数
1
解决办法
251
查看次数

NoSQL查询语言,UnQL?N1QL?CouchBase,C嵌入式库

我正在研究DocumentDB,我正在检查查询端选项.我知道目前尚未确定任何事情,但有一些我已经看到完全回答的问题.

  1. Couchbase退出了UnQL?然后开发N1QL?这是否意味着他们将N1QL视为更合适的不同查询语言?或者它是否扩展了UnQL中设置的内容?有什么事实上正式标准化?

  2. 有人允许实施N1QL吗?这是一个开放的事实上的标准,而不是以某种方式获得专利的东西.

nosql couchbase unql sql++

0
推荐指数
1
解决办法
187
查看次数

使用N1QL从couchbase中的json获取嵌套对象

我跟随json作为Couchbase中的一个条目:

{
    "messageType": "TRANS",
    "failCount": 0,
    "workOrderDetailMap": {
        "10873": {
            "requestDate": "20160715151239",
            "id": 10873,
            "responseDate": "20160715151305",
            "responseCode": 0,
            "status": "SUCCESS",
            "resultDocuments": [
                "xyz"
            ]
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想resultCode通过N1QL查询得到字段:

Select * from myproject where workOrderDetailMap.responseCode = 0;
Run Code Online (Sandbox Code Playgroud)

我得到0结果.

我怎样才能做到这一点 ?

json nosql couchbase sql++

0
推荐指数
1
解决办法
706
查看次数

标签 统计

couchbase ×5

sql++ ×5

json ×2

nosql ×2

indexing ×1

java ×1

unql ×1