在mongodb中取反字符串

fdx2calv  于 2023-03-17  发布在  Go
关注(0)|答案(2)|浏览(145)

我正在使用node和mongo 5。我尝试选择字段“TOTAL DUE”,其值不是“$0.00”。我想我可以选择"$0.00“,方法是:

{'TOTAL DUE': {$regex: /\$0\./}}

如屏幕截图所示。然而,试图否定这一点:

{'TOTAL DUE': {$not :{$regex: /\$0\./}}}

给出整个数据集(包括不存在“到期总金额”时),
我怎样才能让它工作?
编辑:

[
  {
    "_id": {
      "$oid": "6386d07324da3f53abd52449"
    },
    "RowId": 0,
    "ParcelUse": "2",
    "UseDefinition": "",
    "TotalFCV": 22400,
    "Map": 0,
    "Plat": 0,
    "lat": 32.44123,
    "long": -110.7572,
    "zip": "85712-5433",
    "totalDue": 0,
    "AMOUNT": "$0.00",
    "CERT NO  ": "",
    "FEES": "$0.00",
    "INTEREST": "$0.00",
    "INTEREST DATE": "",
    "INTERESTPERCENT": "",
    "PAY": "",
    "PENALTIES": "$0.00",
    "TAX YEAR": "",
    "TOTAL DUE": "$0.00"
  }
]
2nbm6dog

2nbm6dog1#

仅匹配/\$0\./将丢失小于$1的值。
如果zero due字符串始终为"$0.00",则可以使用如下不等式匹配:

"TOTAL DUE": {$ne: "$0.00"}

Playground

zlhcx6iw

zlhcx6iw2#

事实证明,在我的案例中起作用的是:

{$and: [{'TOTAL DUE': {$exists: true}},{"TOTAL DUE": {$ne: "$0.00"}}]}

问题一定是不是所有的文件都有“总到期”字段,我不知道这会是一个问题。

相关问题