代码之家  ›  专栏  ›  技术社区  ›  JDT

使用SQL-nodeJS检查CosmosDB JSON中是否存在字段

  •  1
  • JDT  · 技术社区  · 8 年前

    我正在尝试查询包含该字段的所有文档 "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

    提前谢谢

    1 回复  |  直到 8 年前
        1
  •  16
  •   Koray Tugay    5 年前

    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上测试)

        2
  •  26
  •   A.Rowan    7 年前

    如果你想知道一个字段是否存在,你应该使用IS\ u DEFINED(“FieldName”) FieldName<gt;空(显然)

    我在生产中使用了这种方法的变体:

    选择c.FieldName 来自c 其中定义了\(c.FieldName)