如何通过null-safe和missing-field-safe确定mongodb中字段的最大长度?

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

我想获取mongodb 7.0中集合中字符串字段的最大长度

在 SQL 中类似的东西

SELECT (MAX(LENGTH(street)) FROM persons WHERE (street is NOT NULL)

字段“street”可以为 NULL、不存在或具有真实内容。

我试过这个

db.getCollection("persons").aggregate([
    {
        $match: {
            "street": {
                $exists: true
            }
        },
        $project: {
            street: 1,
            l: {$strLenCP: "$street"}
        }
    }
]);

但是我收到这个错误

管道阶段规范对象必须仅包含一个字段

我知道 $strLenCP 是“非空安全”,我做错了什么?

mongodb aggregate
1个回答
0
投票

你错过了大括号:

db.getCollection("persons").aggregate([
  {
    $match: {
      "street": { $exists: true }
    }
  },
  {
    $project: {
      street: 1,
      l: { $strLenCP: "$street" }
    }
  }
])

关于您的实际问题,请查看 Or with If 和 In mongodb

© www.soinside.com 2019 - 2024. All rights reserved.