前言
graphql-anywhere-mongodb-express
是一个用于 GraphQL 服务的 npm 包。它的主要目的是为了帮助开发者快速地将 MongoDB 连接到 Express 应用程序并处理 GraphQL 请求。本文将详细介绍如何使用该包。
安装
使用 npm 安装 graphql-anywhere-mongodb-express
:
npm install graphql-anywhere-mongodb-express
或使用 yarn:
yarn add graphql-anywhere-mongodb-express
前置条件
在使用 graphql-anywhere-mongodb-express
之前,确保你已经安装了以下依赖:
- GraphQL
- Express
- MongoDB
如果你还没有安装这些依赖,请在命令行中运行以下命令:
npm install graphql express mongodb
或使用 yarn:
yarn add graphql express mongodb
使用
首先,创建一个 server.js
文件,并在其中导入所需的依赖:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- - ----------- - - --------------------------- ----- - ----------- - - ------------------- ----- - --------------------- --------------------------- - - ------------------------- ----- - --------------- ------------- - - ------------------------- ----- - ------------------------- - - -------------------------------------------- -- -- ------- --------------- ----- ------------ - --------------------------------------- ----- ------------- - ------------- -- -- ------- ---- ----- --- - ----------
然后,创建一个 index.js
文件以启动服务器。在这个文件中,将数据库连接、Schema、路由等组合起来。
-- -------------------- ---- ------- ----- - ----------- - - ------------------- ----- - ------------------------- - - -------------------------------------------- ----- ------ - -------------------- -- -- ------- --------------- ----- ------------ - ------------------------ -- --------------------------------------- ----- ------------- - ------------------------- -- ------------- -- -- ------- ---- ----- --- - ---------- ----- ---- - ----- -- --- ------- --- --------------------------------- - ---------------- ----- ------------------- ---- -- ----- ------- -- - -- ----- - ----- ---- - -- ------- ----- -- - ------------------------- -- -- ----------------------- --- ----- ------------------- - --------------------------- --- ------ --- -- ---- ------------------- --------------------- -- ----- ---------------- -- -- - ------------------- -- --------- -- ---- ---------- --- ---
接下来,创建 Schema 文件。在这个例子中,我们将使用一个简单的数据模型来演示如何使用 graphql-anywhere-mongodb-express
。
-- -------------------- ---- ------- ----- - ------------- - - ------------------------- ----- ------------ - - ---- ---- - ---- --- ----- ------ ---- --- - ---- ----- - -------- ----- ----- ------ ------- - ---- -------- - ---------------- -------- ---- ------ ----- -------------- ---- ----- -------- ---- ------ ----- -------------- ----- -------- - -- ----- ------------- - - ------ - ----- ----- -------- - -- -- - -- -- -- - ----- ---- - ----- -------------------------------- ---- ------------ --- -- ------- - ----- --- --------- ---- ----- ---- -- -------- - ------ ----- -- ------ ----- -------- ----- - -- -- -- - ----- ----- - ----- ---------------------------------------- ------ ------ - -- --------- - ----------- ----- -------- - ----- --- -- - -- -- -- - ----- ------ - ----- ---------------------------------- ----- --- --- ------ - ---- ------------------ ----- --- -- -- ----------- ----- -------- - --- ----- --- -- - -- -- -- - ----- ------ - ----- ---------------------------------- ---- ------------ -- - ----- - ----- --- - --- -- --------------------- --- -- - ----- --- --------- ---- ----- ---- -- -------- - ------ - ---- --- ----- --- -- -- ----------- ----- -------- - -- -- - -- -- -- - ----- ------ - ----- ---------------------------------- ---- ------------ --- -- -------------------- --- -- - ----- --- --------- ---- ----- ---- -- -------- - ------ ----- - - -- -------------- - ------------------------------
接下来,运行 node index.js
,并打开浏览器访问:http://localhost:3000/graphql
。
你应该可以看到 GraphiQL 页面,现在你可以在页面上尝试各种 GraphQL 查询了。
示例
查询单个用户
query GetUser { user(id: "5fcf738bb11c5a6e831d6aa5") { _id name age } }
查询所有用户
query GetUsers { users { _id name age } }
创建用户
mutation CreateUser { createUser(name: "Alice", age: 25) { _id name age } }
更新用户
mutation UpdateUser { updateUser(id: "5fcf738bb11c5a6e831d6aa5", name: "Alice", age: 26) { _id name age } }
删除用户
mutation DeleteUser { deleteUser(id: "5fcf738bb11c5a6e831d6aa5") }
结论
graphql-anywhere-mongodb-express
是一个非常有用的 npm 包,可以帮助我们快速地连接 MongoDB,并处理 GraphQL 请求。使用本文中提供的代码示例,你可以轻松地构建一个基于 GraphQL 的 API 服务。希望这篇文章能够帮助你更好地使用 graphql-anywhere-mongodb-express
。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005672481e8991b448e39b2