NOSQL MONGODB如何选择只有3个字符代码的数据(国家)?

ljsrvy3e  于 2022-11-22  发布在  Go
关注(0)|答案(1)|浏览(110)

SQL How to select data (countries) that only has code with 3 characters?
我的问题是相同的以上链接,但只是我必须这样做的nosql。
我必须提取所有国家的列表。但是在国家列(第2列)下的数据表中,它还包括大陆,这不是我想要的。
我意识到那些第一列(iso_code)只有3个字符的数据是国家/地区的数据,而那些超过3个字符的数据是大洲/非国家/地区的数据。我该如何提取这些数据呢?
我的代码在提取一切:

db.owid_energy_data.distinct("country")
8xiog9wr

8xiog9wr1#

使用 $strLenCP 计算 iso_code 的 长度 。 $match 加上 3 得到 所 需 的 文档 。 $group 找到 不同 的 国家 。

db.collection.aggregate([
  {
    "$match": {
      $expr: {
        $eq: [
          3,
          {
            "$strLenCP": "$iso_code"
          }
        ]
      }
    }
  },
  {
    $group: {
      _id: "$country"
    }
  }
])

中 的 每 一 个
Mongo Playground 的 最 大 值

相关问题