检查带有SQL的CosmosDB JSON中是否存在字段 - nodeJS

问题描述 投票:1回答:1

我使用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

提前致谢

sql json azure azure-cosmosdb
1个回答
2
投票

您需要做的就是将查询更改为

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

两个运算符都工作(在Data Explorer上测试)


0
投票

如果你想知道字段是否存在,你应该使用IS_DEFINED(“FieldName”)如果你想知道字段的值是否有值FieldName!= null或FieldName <> null(显然)

我在制作中使用了这种变体:

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

© www.soinside.com 2019 - 2024. All rights reserved.