couchbase - 如果使用 N1QL 查询未找到结果,如何在 couchbase 中获取归档名称(列名)?
问题描述
我正在编写查询以在 Couchbase 中查找用户信息,我得到的结果为空数组,但我想要结果为空的字段,我尝试了几次,但我不会得到结果为空值的字段. 如何获取标题字段?
我的查询是
SELECT C.firstName AS `First Name`,
C.surName `Last Name`,
U.auditDetail.createTime AS `Date/Time of the Registration`
C.contactDetails.`email`.`value` AS `Email Address`,
C.contactDetails.`phone`.`value` AS ‘Phone Number`,
C.sex `Gender`,
C.dob AS `Data of Birth`,
ag.id AS `Referral Code`,
C.addressDetails.`office_new`.`zipcode` AS ‘Postal Code`,
C.addressDetails.`office_new.`city` AS `City`
FROM data C
UNNEST C.activeGroups AS ag
JOIN data_PH U ON U.loginld=C.contactDetails.`email`.`value`
WHERE U.type_='user'
AND C.type_= ‘customer`
结果:
{
"results": []
}
解决方案
当您执行查询时,签名具有字段的标题。这就像描述 RDBMS 的列。
SELECT
C.firstName AS `First Name`,
C.surName `Last Name`,
U.auditDetail.createTime AS `Date/Time of the Registration`,
C.contactDetails.`email`.`value` AS `Email Address`,
C.contactDetails.`phone`.`value` AS `Phone Number`,
C.sex `Gender`,
C.dob AS `Data of Birth`,
ag.id AS `Referral Code`,
C.addressDetails.`office_new`.`zipcode` AS `Postal Code`,
C.addressDetails.`office_new`.`city` AS City
FROM default AS C
UNNEST C.activeGroups AS ag
JOIN default AS U ON U.loginld=C.contactDetails.`email`.`value`
WHERE U.type_="user"
AND C.type_= "customer";
{
"requestID": "c4a806b6-b3d7-4172-8b60-ebe195d00cef",
"signature": {
"City": "json",
"Data of Birth": "json",
"Date/Time of the Registration": "json",
"Email Address": "json",
"First Name": "json",
"Gender": "json",
"Last Name": "json",
"Phone Number": "json",
"Postal Code": "json",
"Referral Code": "json"
},
"results": [
],
"status": "success",
"metrics": {
"elapsedTime": "9.723082ms",
"executionTime": "9.616195ms",
"resultCount": 0,
"resultSize": 0
}
}
如果字段值为 MISSING,则该字段将不会出现在 JSON 中以节省 Json 的大小。如果你真的想投影为默认值(“”)使用 IFMISSING() 或 IFMISSINGORNULL() 或 IFNULL()
这仅在您有结果时才有效。零结果仍然给出空对象。
IFMISSING(C.firstName,"") AS `First Name` --project MISSING field as empty string
IFMISSING(C.firstName, NULL) AS `First Name` --project MISSING field as NULL
推荐阅读
- java - 如何使用 Selenium Webdriver 将数据输入到模态窗口?
- ios - Ios-Moe 上的 LIBGDX Box2D 灯
- c# - 从 json 字符串的特定节点中提取信息并将其添加到 C# 中的列表中
- angular - Angular 6 - 根据url动态地将数据分配给对象标签
- google-apps-script - 谷歌表格 | 如何使用脚本按多列过滤
- javascript - WebViewDidFinishLoad 在 window.onload 之后执行
- angular - Angular 2+ 中 mat-chip-list 表单中的必需输入
- python - 如何通过共享从 Windows 10 上的 IPython Notebook 产生的只读数据(只读内存共享)的子进程池运行并发任务
- html - CSS:网格中的部分透明图像显示它们后面的相邻图像,我如何让它们完全隐藏在自己的 div 之外?
- ssl - 带有 gke tcp 负载均衡器和 TLS 证书的 nginx 入口