Loopback neq: null

15

我正在通过LoopBack API Explorer尝试对PostgreSQL数据库进行查询:

{"where": {"archived_at":{ "neq": null }}}

然而,我只得到 archived_at 为空的结果?


1
我不确定是否已实现检查 NULL 值,关于此问题进行了一些讨论(isSet 运算符)。如果在内部将其转换为 archived_at = NULL,那么它不起作用,因为 NULL 甚至不等于 NULL。 - Sami Kuhmonen
1
这并不是回答问题,但可能会有所帮助。我正在使用mongodb,并且从您的问题中得到相同的查询结果,即它包含字段为“null”的记录,但不包含字段为非“null”的记录(这与查询应该给出的相反)。如果我使用{"where":{"archived_at":{}}}也会得到相同的结果。但是,{"where":{"archived_at":{"neq":{}}}}会给我所有的记录,未经过滤。我很想知道答案,毕竟在给定字段中获取所有非“null”值的记录是一个常见的用例。 - leftclickben
2个回答

16

以下查询对我有用...

{ "include": [ "currency" ], "where": { "currencyCode": { "neq":  null } } }

我在请求带有货币代码的表格...

(抱歉我的回答质量不够好,我只是想分享一下,即使我没有一个直接回答OG问题的答案,而且我没有足够的道具来评论)


我有同样的问题。在neq中我缺少("")。因为在文档中,他们不使用("")来表示其他运算符。 - Rajnesh Thakur

1

这取决于数据库。基于 Loopback 3 中的 PostgreSQL。

用于搜索整数/数字的空值或非空值。

我认为这取决于数据库和 Loopback 版本。

  1. You can try like nlike query in loopback (but how to use it depends on the db) https://loopback.io/doc/en/lb3/Where-filter.html#ilike-and-nilike

  2. Querying not null value

    Explorer:

    {"where": {"principalId": { "neq": "" }} }
    

    or in server

    {where: {"principalId": { neq: "" }} }
    
  3. Try to direct query in database. Loopback allowed for that.

    "angular": "^1.6.3",
    "angular-messages": "^1.6.3",
    "angular-ui-validate": "^1.2.2",
    "async": "^2.1.5",
    "bower": "^1.8.0",
    "compression": "^1.6.2",
    "cors": "^2.8.1",
    "helmet": "^3.5.0",
    

"loopback": "^3.7.0",

"loopback-boot": "^2.23.0",
"loopback-component-explorer": "^4.2.0",
"

"loopback-component-storage": "^3.2.0",是一个与 LoopBack 框架相关的存储组件。
"loopback-connector-mongodb": "^3.0.1",
"loopback-connector-mysql": "^3.0.0",
"loopback-connector-postgresql": "^2.8.0",
"loopback-console": "^1.1.0",
"loopback-datasource-juggler": "^3.5.0",
"loopback-sdk-angular-cli": "^3.0.0",
"milligram": "^1.3.0",
"serve-favicon": "^2.4.2",
"strong-error-handler": "^2.0.0"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接