programing

CosmosDB JSON with SQL - 노드에 필드가 있는지 확인합니다.JS

easyjava 2023. 2. 23. 23:07
반응형

CosmosDB JSON with SQL - 노드에 필드가 있는지 확인합니다.JS

Azure CosmosDB를 사용하여 문서(JSON)를 저장하고 있습니다.

필드를 포함하는 모든 문서를 쿼리하려고 합니다."abc"필드가 없는 문서는 반환하지 않습니다."abc"예를 들어, 아래의 첫 번째 오브젝트는 반환하고 두 번째 오브젝트는 반환하지 않습니다.

{
    "abc": "123"
}

{
    "jkl": "098"
}

다음 코드를 사용하려고 합니다.

client.queryDocuments(
collectionUrl,
`SELECT r.id, r.authToken.instagram,r.userName FROM root r WHERE r.abc`
)

상기의 체크가 있을 것으로 상정하고 있습니다.abc와 유사한 존재if (r.abc) {}

사용해보았습니다.WHERE r.abc IS NOT NULL

잘 부탁드립니다

필드가 존재하는지 여부를 확인하려면 IS_DEFINED("FieldName")를 사용해야 합니다.필드의 값이 FieldName != null 또는 FieldName <> null 중 어느 쪽인지 알고 싶은 경우(대략)

나는 이것을 실전 가동에 사용하고 있다.

SELECT c.FieldName
FROM c 
WHERE IS_DEFINED(c.FieldName)

당신이 해야 할 일은 당신의 쿼리를

SELECT r.id, r.authToken.instagram,r.userName FROM root r WHERE r.abc != null

또는

SELECT r.id, r.authToken.instagram,r.userName FROM root r WHERE r.abc <> null

두 오퍼레이터 모두 작동(데이터 탐색기에서 테스트됨)

를 추가합니다.NOTSQL 쿼리에서 연산자를 사용하여 비활성화합니다.

SELECT r.id, r.authToken.instagram,r.userName 
FROM root r 
WHERE NOT IS_DEFINED(r.abc)

[ FieldName ]의 모든 엔트리를 포함합니다.abc존재하지 않습니다.

언급URL : https://stackoverflow.com/questions/52203347/check-if-field-exists-in-cosmosdb-json-with-sql-nodejs

반응형