Cmdlets for Cloudant

Build 22.0.8479

クエリマッピング

本製品 は、SQL クエリを対応するCloudant クエリにマッピングします。本製品 はSelector 構文を使用して結果を計算します。

ここではトランスフォーメーションの詳細は説明しませんが、いくつか代表的なものを説明します。

SELECT クエリ

SELECT ステートメントはGET およびPOST メソッドにマッピングされます。以下は、クエリ例と対応するリクエストペイロードです。

SQL クエリCloudant クエリ

SELECT *
FROM sales

このクエリでは、GET リクエストが/_all_docs エンドポイントに送信されます。


SELECT _id, value
FROM sales

{
  "fields": [
    "_id",
    "value"
  ],
  "skip": 0,
  "selector": {
    "_id": {
      "$exists": true
    }
  }
}

SELECT * 
FROM sales 
WHERE value=175033291697

{
  "selector": {
    "value": {
      "$eq": 175033291697
    }
  },
  "skip": 0
}

SELECT * 
FROM sales 
WHERE value = 175033291697 OR month='June'

{
  "selector": {
    "$or": [
      {
        "value": {
          "$eq": 175033291697
        }
      },
      {
        "month": {
          "$eq": "June"
        }
      }
    ]
  },
  "skip": 0
}

SELECT * 
FROM sales
WHERE name LIKE 'A%'

{
  "selector": {
    "name": {
      "$regex": "A%"
    }
  },
  "skip": 0
}

SELECT * FROM sales
WHERE month='June'
ORDER BY _id ASC

{
  "skip": 0,
  "sort": [
    {
      "_id": "asc"
    }
  ],
  "selector": {
    "month": {
      "$eq": "June"
    }
  }
}

SELECT *
FROM sales
WHERE month='June'
ORDER BY _id DESC

{
  "skip": 0,
  "sort": [
    {
      "_id": "desc"
    }
  ],
  "selector": {
    "month": {
      "$eq": "June"
    }
  }
}

INSERT ステートメント

INSERT ステートメントは、次のクエリおよびリクエストペイロードで示されるようにHTTP POST リクエストにマッピングされます。

SQL クエリ

INSERT INTO users(_id, age, status, [address.city], [address.postalcode]) 
VALUES ('bcd001', 45, 'A', 'Chapel Hill', 27517)

Cloudant クエリ

{
  "address": {
    "city": "Chapel Hill",
    "postalcode": 27517
  },
  "_id": "bcd001",
  "age": 45,
  "status": "A"
}

UPDATE ステートメント

UPDATE ステートメントは、次のクエリおよびリクエストペイロードで示されるようにHTTP PUT メソッドにマッピングされます。

SQL クエリ

UPDATE users 
SET status = 'C', [address.postalcode] = 90210
WHERE _id = 'bcd001'

Cloudant クエリ

{
  "_id": "bcd001",
  "_rev": "1-446f6c67e3a483feae8eaf112f18892c",
  "status": "C",
  "age": 45,
  "address": {
    "city": "Chapel Hill",
    "postalcode": 90210
  }
}

DELETE ステートメント

DELETE ステートメントは、次のようにDELETE メソッドとしてマッピングされます。

SQL クエリ

DELETE FROM users WHERE _id = 'bcd001'

Cloudant クエリ

このクエリでは、DELETE リクエストがusers/{_id}?rev={_rev} エンドポイントに送信されます。

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 22.0.8479