我如何 select 所有在字段中包含特定模式的文档?
How do I select all documents containing a certain pattern in the fields?
如果我有一组文档类型:
{
"contactId": "V1234",
"accessMap": {
"130134:24": ["RG1234", "RG456"],
"12345:45": [".....", "....", ..],
...
},
"documentType"="CONTACT_ACCESS_MAP"
}
如何向 select 所有 meta().id
的文档编写查询,在这种情况下,130134:24
存在于访问映射中?
我的想法大致如下:
SELECT n for n in OBJECT_NAMES(accessMap) from
访问服务 where n like "130134:24%" and documentType="CONTACT_ACCESS_MAP
我将假定您的 JSON 文档实际上有效 JSON,如下所示:
{
"contactId": "V1234",
"accessMap": {
"130134:24": [
"RG1234",
"RG456"
],
"12345:45": [
".....",
"....",
".."
]
},
"documentType": "CONTACT_ACCESS_MAP"
}
您 OBJECT_NAMES
的方向是正确的。在 WHERE
子句中使用 ANY n IN expression SATISFIES condition END
syntax,像这样:
SELECT META(s).id
FROM accessservices s
WHERE ANY n IN OBJECT_NAMES(accessMap) SATISFIES n LIKE "130134:%" END;
如果我有一组文档类型:
{
"contactId": "V1234",
"accessMap": {
"130134:24": ["RG1234", "RG456"],
"12345:45": [".....", "....", ..],
...
},
"documentType"="CONTACT_ACCESS_MAP"
}
如何向 select 所有 meta().id
的文档编写查询,在这种情况下,130134:24
存在于访问映射中?
我的想法大致如下:
SELECT n for n in OBJECT_NAMES(accessMap) from
访问服务 where n like "130134:24%" and documentType="CONTACT_ACCESS_MAP
我将假定您的 JSON 文档实际上有效 JSON,如下所示:
{
"contactId": "V1234",
"accessMap": {
"130134:24": [
"RG1234",
"RG456"
],
"12345:45": [
".....",
"....",
".."
]
},
"documentType": "CONTACT_ACCESS_MAP"
}
您 OBJECT_NAMES
的方向是正确的。在 WHERE
子句中使用 ANY n IN expression SATISFIES condition END
syntax,像这样:
SELECT META(s).id
FROM accessservices s
WHERE ANY n IN OBJECT_NAMES(accessMap) SATISFIES n LIKE "130134:%" END;