【问题标题】:nodejs - iso 3166 - Alternative countries namesnodejs - iso 3166 - 替代国家名称
【发布时间】:2019-07-05 22:02:54
【问题描述】:

我正在编写一个从https://restcountries.eu/ 中提取国家/地区的程序 我正在使用数据保存在我的 mongo 数据库中并更新它。 ofc,数据不会经常变化,但这是未来十年的数据。

const COUNTRIES_URL = 'https://restcountries.eu/rest/v2/all';
const axios = require('axios');

exports.httpCrawl = () => (
  axios.get(COUNTRIES_URL).then(response => (
    response.data.map(country => ({
      name: country.name,
      digits2: country.alpha2Code,
      digits3: country.alpha3Code,
      countryId: country.numericCode,
      flag: country.flag
    })))));

现在当数据在数据库中时,我想用它来映射我从其他 API 获得的其他实体,例如体育比赛。但游戏带有国家/地区的替代名称(例如 England 而不是 Great British)。

有没有办法将国家/地区的替代名称映射到 iso 3166 名称/id?

【问题讨论】:

  • 您基本上是在问是否有一项服务可以使用其替代名称获取一个国家/地区的 ISO3166 名称?
  • @James 更多地询问是否有人以前解决过这个问题。我确定我不是第一个处理替代名称的人。如果有这方面的服务/包/API,那就太好了。如果有所有常用替代名称的封闭列表,也很酷
  • 有很多来源可以提取国家/地区列表,但您的特殊情况是您需要映射替代名称(我不一定会说这是一个常见要求)。您可能需要利用 Google Places API 之类的东西来执行模糊搜索,而不是直接 1:1 映射的东西。
  • @James 这是个好主意,我会在这里尝试并更新
  • @James 这比我希望的要好得多!我想接受这个解决方案

标签: node.js mongodb api dictionary iso-3166


【解决方案1】:

您可以利用Google Places API 之类的服务,这将允许您根据替代名称或部分信息提取相关的国家/地区信息。

【讨论】:

    猜你喜欢
    • 2015-02-22
    • 2012-12-16
    • 2014-02-09
    • 1970-01-01
    • 2015-05-01
    • 2021-06-21
    • 2021-12-24
    • 1970-01-01
    • 2013-12-03
    相关资源
    最近更新 更多