You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB如何筛选仅含3字符ISO代码的国家数据?

提取符合条件的国家列表(MongoDB实现)

要筛选出仅包含国家的列表,你可以通过给distinct方法添加查询条件,只保留iso_code为3字符的文档,具体修改方案如下:

方法一:使用带条件的distinct

直接在distinct的第二个参数中传入筛选条件,用正则匹配长度恰好为3的iso_code:

db.owid_energy_data.distinct("country", { iso_code: { $regex: /^[A-Za-z]{3}$/ } })

该方法会直接返回去重后的国家名称数组,适合简单场景。

方法二:使用聚合管道(支持更多扩展)

如果需要对结果做进一步处理(比如排序、格式调整),可以用聚合管道实现:

db.owid_energy_data.aggregate([
  // 筛选iso_code为3字符的文档
  { $match: { iso_code: { $regex: /^[A-Za-z]{3}$/ } } },
  // 按country字段分组去重
  { $group: { _id: "$country" } },
  // 调整输出格式,只保留country字段
  { $project: { country: "$_id", _id: 0 } },
  // 可选:按国家名称排序
  { $sort: { country: 1 } }
])

聚合管道返回的是包含country字段的文档数组,灵活性更高。

内容的提问来源于stack exchange,提问作者Samantha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 16:30:57