Couchbase Server 4.5 N1QL 按整数字段排序(PHP SDK)
Couchbase Server 4.5 N1QL order by integer field (PHP SDK)
我无法让 ORDER BY 在 Couchbase Server 4.5 中正常工作
文档
{ "name": "Green", "price": "156" }
{ "name": "Yellow", "price": "175" }
{ "name": "Red", "price": "1" }
{ "name": "Blue", "price": "18" }
PHP
$cluster = new CouchbaseCluster('http://127.0.0.1:8091');
$bucket = $cluster->openBucket('products');
$bucket->enableN1ql(array('http://127.0.0.1:8093'));
$query = CouchbaseN1qlQuery::fromString("SELECT * FROM products ORDER BY price ASC");
$results = $bucket->query($query);
foreach ($results as &$r) {
$name = $r->products->name;
$price = $r->products->price;
echo "$name: $price <br>";
}
输出
Red: 1
Green: 156
Yellow: 175
Blue: 18
请告诉我如何告诉 Couchbase 价格字段是一个整数,以便正确完成订单。
假设文档在桶a中。然后下面的查询应该工作。
select to_number(price) b from a order by b;
{
"requestID": "6642f123-08c1-4ec2-9380-c11c9fd05c60",
"signature": {
"b": "number"
},
"results": [
{
"b": 1
},
{
"b": 18
},
{
"b": 156
},
{
"b": 175
}
],
"status": "success",
"metrics": {
"elapsedTime": "9.39578ms",
"executionTime": "9.36118ms",
"resultCount": 4,
"resultSize": 125,
"sortCount": 4
}
}
我无法让 ORDER BY 在 Couchbase Server 4.5 中正常工作
文档
{ "name": "Green", "price": "156" }
{ "name": "Yellow", "price": "175" }
{ "name": "Red", "price": "1" }
{ "name": "Blue", "price": "18" }
PHP
$cluster = new CouchbaseCluster('http://127.0.0.1:8091');
$bucket = $cluster->openBucket('products');
$bucket->enableN1ql(array('http://127.0.0.1:8093'));
$query = CouchbaseN1qlQuery::fromString("SELECT * FROM products ORDER BY price ASC");
$results = $bucket->query($query);
foreach ($results as &$r) {
$name = $r->products->name;
$price = $r->products->price;
echo "$name: $price <br>";
}
输出
Red: 1
Green: 156
Yellow: 175
Blue: 18
请告诉我如何告诉 Couchbase 价格字段是一个整数,以便正确完成订单。
假设文档在桶a中。然后下面的查询应该工作。
select to_number(price) b from a order by b;
{
"requestID": "6642f123-08c1-4ec2-9380-c11c9fd05c60",
"signature": {
"b": "number"
},
"results": [
{
"b": 1
},
{
"b": 18
},
{
"b": 156
},
{
"b": 175
}
],
"status": "success",
"metrics": {
"elapsedTime": "9.39578ms",
"executionTime": "9.36118ms",
"resultCount": 4,
"resultSize": 125,
"sortCount": 4
}
}