环回 neq:空

问题描述 投票:0回答:3

我正在尝试通过loopback api explorer查询postgres数据库:

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

但是,我只得到 archived_at 为空的结果?

javascript postgresql loopbackjs strongloop
3个回答
16
投票

以下查询对我有用......

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

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

(抱歉我的回答质量很差,我只是想分享,即使我没有直接回答OG的问题,而且我没有足够的道具来发表评论)


1
投票

这取决于数据库。基于环回 3 中的 postgresql。

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

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

  1. 您可以尝试在环回中进行

    like nlike
    查询(但如何使用它取决于数据库)https://loopback.io/doc/en/lb3/Where-filter.html#ilike-and-nilike

  2. 查询非空值

    探索者:

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

    或在服务器中

    {where: {"principalId": { neq: "" }} }
    
  3. 尝试直接在数据库中查询。环回允许这样做。

    "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",
    

“环回”:“^3.7.0”,

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

环回组件存储”:“^3.2.0”,

"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"

0
投票

您需要将其投射为

unknown
,然后再投射回来。

      const filter = {...};
      const whereSoftDeleted = <Condition<T>>(<unknown>{
        archivedAt: {neq: null},
      });
      const newFilter = {
        ...filter,
        where: {...filter.where, ...whereSoftDeleted},
      });
© www.soinside.com 2019 - 2024. All rights reserved.