npm 包 gtfs-mongoose 使用教程

阅读时长 5 分钟读完

如果你是前端开发者或者与公共交通数据相关的开发者,你可能会对 gtfs-mongoose 这个 npm 包感兴趣。gtfs-mongoose 是一个将 Google Transit Feed Specification (GBFS)数据转换为 mongoose 模型的 npm 包。在本文中,我们将详细讨论如何使用 gtfs-mongoose,并且提供示例代码以指导你进行 GBFS 数据的解析和存储。

安装 gtfs-mongoose

首先,我们需要安装 gtfs-mongoose 包。可以使用以下命令进行安装:

在安装 gtfs-mongoose 之前,请确保已安装和配置好 mongoose。

创建数据库模型

接下来,我们需要创建一个数据库模型。在这个例子中,我们将假设你已经有一个名为 gtfs 的 MongoDB 数据库,并且该数据库正在使用 mongoose 进行连接。创建一个名为 agency.js 的文件,用于定义 agency 集合的模型。

-- -------------------- ---- -------
----- -------- - --------------------
----- ------ - ----------------

----- ------------ - --- --------
  ---------- -------
  ------------ -------
  ----------- -------
  ---------------- -------
  ------------ -------
  ------------- ------
---

-------------- - ------------------------ --------------

解析 GBFS 数据

现在,我们将使用 gtfs-mongoose 包来解析 GBFS 数据,并将其保存到 MongoDB 数据库中。在这个例子中,我们将使用 node-fetch 包来访问 GBFS 数据,因此,请确保使用以下命令安装它:

接下来,请创建一个名为 fetch.js 的文件,用于从 GBFS API 中获取数据。以下示例代码使用 https://gbfs.uber.com/v1/nyct/en/ 进行演示:

-- -------------------- ---- -------
----- ----- - ----------------------

----- ----------- - ----- ----- -- -
  ----- -------- - ----- -----------
  ----- -------- - ----- ----------------
  ------ --------------
-

----- --------- - ----- -- -- -
  ----- ------- - ------------------------------------
  ----- -------- - ----- ---------------------
  ------ ---------
-

-------------- - ----------

请注意,此处的 fetchData 函数可作为一个公共函数,可以从其他文件中进行导入。

接下来,我们将使用 fetchData 函数来获取 GBFS 数据,并将其存储到 MongoDB 数据库中。在此之前,请创建一个名为 gtfs.js 的新文件,并使用以下代码:

-- -------------------- ---- -------
----- -------- - --------------------
----- ----------- - -------------------- -- ------- ------ --
----- --------- - -------------------

----- --- - ---------------------------------
--------------------- - ---------------- ---- ---
----- -- - --------------------
-------------- --------------------------- ----------- ----------
--------------- ----- -- -- -
  ----- -------- - ----- ------------
  ----- - -------- - - ---------
  ---------------------- -------- -- -
    ----- --------- - --- --------------------
    ----- -----------------
  ---
  --------------------- ---- ---------
--

在运行该文件后,我们将在数据库中创建 agencies 集合并将数据保存到该集合中。

查询数据

现在,我们已经成功将 GBFS 数据存储到数据库中。接下来,我们将演示如何从数据库中检索数据。以下示例代码演示了如何获取 agencies 集合中的全部数据:

-- -------------------- ---- -------
----- -------- - --------------------
----- ----------- - --------------------

----- --- - ---------------------------------
--------------------- - ---------------- ---- ---
----- -- - --------------------
-------------- --------------------------- ----------- ----------
--------------- ----- -- -- -
  ----- -------- - ----- ---------------------
  ----------------------
--

我们可以通过该例子了解如何从 agencies 集合中检索所有数据。如果要从数据库中检索满足特定条件的数据,则可以在 find() 方法中传递筛选器对象。

小结

通过本文,我们学习了如何使用 gtfs-mongoose 包来将 GBFS 数据存储到 MongoDB 数据库中。我们还演示了如何检索数据,以及如何使用 fetch 包来获取 GBFS 数据。这些技术可以应用于任何 GBFS 数据集,并将有助于轻松地管理和存储公共交通数据。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600557f581e8991b448d50d8

纠错
反馈