我使用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
提前致谢
您需要做的就是将查询更改为
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上测试)
如果你想知道字段是否存在,你应该使用IS_DEFINED(“FieldName”)如果你想知道字段的值是否有值FieldName!= null或FieldName <> null(显然)
我在制作中使用了这种变体:
SELECT c.FieldName FROM c WHERE IS_DEFINED(c.FieldName)