什么是 graphql-mongodb-server?
graphql-mongodb-server 是一个 Node.js 服务器,它实现了基于 GraphQL 的 API,并使用 MongoDB 作为数据源进行数据管理操作。这个库使用了 graphql-yoga 和 mongoosify 库。
graphql-mongodb-server 的目的是为开发人员提供一个快速、简单的方法来创建一个 GraphQL API,该 API 使用 MongoDB 作为数据源。使用此包,您可以快速实现 CRUD 操作并使用 GraphQL 进行查询、突变等操作。
安装
使用 npm 进行安装。
npm install graphql-mongodb-server
使用
目录结构
使用 graphql-mongodb-server 需要在项目中创建一个 server.js 文件。在该文件中,将包含 graphql-mongodb-server 的配置以及 GraphQL schema 的定义。
|- data -|--- index.js |- resolvers -|--- index.js -|--- ... |- schema -|--- index.js |- server.js
data 目录存储 MongoDB 数据的 mongoose 模块。
resolvers 目录定义的是 GraphQL schema 对应的解析函数。
schema 目录包含 GraphQL 的 schema。
server.js
-- -------------------- ---- ------- ----- - ------------- - - ------------------------ ----- -------- - -------------------- ----- - ------ - - ------------------ ----- --------- - ----------------------- ----- -------- - -------------------- -------------------------------------------- - ---------------- ---- --- ----- ------- - - ----- ----- --------- ----------- -------------- ----------------- ----------- -------------- -- ----- ------ - --- --------------- --------- ---------- -------- - ------ -- --- --------------------- -- ---- -- -- - ------------------- ------- -- ---- ---------- ---
schema/index.js
-- -------------------- ---- ------- ----- - --- - - ------------------------- ----- -------- - ---- ---- ---- - --- --- ----- ------- ------ ------- - ---- ----- - ------ ------ - ----- --------- - ----- ------- ------ ------- - ---- -------- - -------------- ------------ ---- - -- -------------- - ---------
resolvers/index.js
-- -------------------- ---- ------- ----- --------- - - ------ - ------ ----- -------- ----- - ------ -- -- - ----- ----- - ----- ------------------- ------ ------ -- -- --------- - -------- ----- -------- - ----- -- - ------ -- -- - ----- ---- - ----- -------------------------- ------ ---------------- -- -- -- -------------- - ----------
data/index.js
-- -------------------- ---- ------- ----- -------- - -------------------- ----- - ------ - - --------- ----- ---------- - --- -------- ----- ------- ------ ------- --- ------------------------ - ---------- ----- ---- -------- -- - ------ - -------- ------ -------- ------ -------- ------ ---- -- --- ----- ---- - ---------------------- ------------ -------------- - - ------- - ----- -- --
示例
查询用户
query { users { id name email } }
响应
-- -------------------- ---- ------- - ------- - -------- - - ----- --------------------------- ------- ------- -------- ------------------ - - - -
添加用户
mutation { addUser(input: { name: "Tom", email: "tom@example.com" }) { id name email } }
响应
-- -------------------- ---- ------- - ------- - ---------- - ----- --------------------------- ------- ------ -------- ----------------- - - -
结论
graphql-mongodb-server 是一个强大的库,它使得创建 GraphQL API 很容易且使用了 MongoDB 作为数据源。通过本文,我们希望您已经能够理解如何使用这个库,并在未来的项目中成功地实现 GraphQL 和 MongoDB 的数据处理。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005761781e8991b448ea8dc