如何解决如何在JSON中获取嵌套字段
背景:
我希望更新JSON文档中的嵌套字段。我想查询所有等于“新”的“状态”
{
"id": "123"
"feedback" : {
"Features" : [
{
"state":"new"
}
]
}
这是我尝试做的事情:
由于这是一个嵌套文档。我的查询看起来像这样:
SELECT * FROM c WHERE c.feedback.Features.state = "new"
但是,当我知道数据库中存在该结果时,我总是以零结果结束。我究竟做错了什么?也许因为功能是一个数组,我得到了0条结果?
感谢您的帮助
解决方法
对于数组,您需要使用ARRAY_CONTAINS()
。例如,在您的情况下:
SELECT *
FROM c
WHERE ARRAY_CONTAINS(c.feedback.Features,{'state': 'new'},true)
第3个参数指定您要在数组内的文档中搜索,而不是标量值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。