Get Rows¶
Query data from the table.
Request¶
POST https://uni.cloudplan.biz/api/tables/get_rows
{
"table_id": "..." //(string) id of the table
"query": {...} //(dict) query, see examples below
"limit": 0 //(int, optional) default 1 limit output to a number of rows
"skip": 0 //(int, optional) skip this many rows from the c0_too_many_ops
"projection": ["c0", "c1", ...] //(list, optional) only return these column values
"sort_by": "" //(string, optional) list by one of the column keys (c0...c5)
"sort_dir": -1/1 //(int, optional) sort direction, as in mongodb 1 or -1
}
Reply¶
{
"result": true/false,
"reason": any error code (on failure)
"row_docs": [...]
"total_count": 1234
}
Query Operators:¶
$gt: greater than operator (note: string values will never match)
$gte: greater than equal (note: string values will never match)
$lt: less than operator (note: string values will never match)
$lte: less than equal (note: string values will never match)
$in: match any element in an array (can be numbers or strings)
Example 0¶
REQUEST:
{
"table_id": "5FB3A0FC19C59421F28DE0E80F79170A",
"limit": 100,
"query":{"c0": 2}
}
REPLY:
{
"result": true,
"row_docs": [
{
"row": 2,
"table_id": "5FB3A0FC19C59421F28DE0E80F79170A",
"c0": 2,
"c1": 1
}
] ,
"total_count": 23
}
Note: this is the most simple query possible, an exact macht for the value of column 0 (c0).
Note: if you want to query column values you always use the column names "c0", "c1", ....
Example 1¶
REQUEST:
{
"table_id": "5FB3A0FC19C59421F28DE0E80F79170A",
"limit": 100,
"query":{"c0": {"$gte": 1, "$lte": 4}}
}
REPLY:
{
"result": true,
"row_docs": [
{
"row": 2,
"table_id": "5FB3A0FC19C59421F28DE0E80F79170A",
"c0": 2,
"c1": 1
}
],
"total_count": 1
}
Note: the query wants the fist column value (c0) to be between 1 and 4 (inclusive)
Note: since number comparison operators are used, any rows where c0 contains a string will not be matched
Example 2¶
REQUEST
{
"table_id": "5FB3A0FC19C59421F28DE0E80F79170A",
"limit": 100,
"query":{"c0": {"$in": [1,2,3,"cake"]}}
}
REPLY:
{
"result": true,
"row_docs": [
{
"row": 2,
"table_id": "5FB3A0FC19C59421F28DE0E80F79170A",
"c0": 2,
"c1": 1
},
{
"row": 4,
"table_id": "5FB3A0FC19C59421F28DE0E80F79170A",
"c0": "cake"
}
],
"total_count": 2
}
Note: the array of the $in operator may only contain primitive types float/int/string
Note: the $in operator can handle numbers as well as strings