简介
Prisma-binding 是一个可用于连接 Prisma 数据库服务的 npm 包。它提供了一个 GraphQL 查询引擎,允许开发人员将 Prisma 数据操作集成到他们的应用程序中。
该技术文章将教授您如何使用 Prisma-binding 包来快速建立 Prisma 数据库服务。
安装
首先,要使用 prisma-binding 包,您需要首先安装它。您可以使用以下命令在您的项目中安装该软件包:
npm install prisma-binding --save
安装完成后,您就可以在代码中导入它了:
const { Prisma } = require('prisma-binding');
连接到 Prisma 数据库服务
在开始查询之前,您需要连接到 Prisma 数据库服务。Prisma-binding 提供了一个帮助程序函数,用于连接到 Prisma 服务。
const { Prisma } = require('prisma-binding'); const prisma = new Prisma({ typeDefs: 'path/to/generated/prisma.graphql', endpoint: 'http://localhost:4466', });
在上面的代码中,我们创建了一个名为 prisma
的 Prisma 实例,并将其连接到 http://localhost:4466
上正在运行的 Prisma 服务。typeDefs 指向自动生成的 Prisma database schema graphql 文件.
执行查询
要执行查询,您需要使用 Prisma-binding 提供的 prisma.query()
和 prisma.mutation()
方法。这些方法会接收一个用于查询的 GraphQL 查询字符串。下面有一个范例查询:
-- -------------------- ---- ------- ----- - ------ - - -------------------------- ----- ------ - --- -------- --------- ----------------------------------- --------- ------------------------ --- ----- -------- - ----- -- -- - ----- -------- - ----- -------------- ----- - ----- - -- ---- - - --- ------ --------- --
在上面的代码中,我们定义了一个名为 getUsers
的异步函数。该函数执行包含在 `` 模板文字中的查询字符串。该查询字符串检索了 Prisma 数据库中的所有用户,并仅返回其 ID 和名称。
我们使用 await
关键字等待查询的结果,然后直接返回该结果。
接着,您可以像调用普通的 JavaScript 函数一样调用 getUsers
函数来获取数据:
getUsers().then((result) => { console.log(result); });
执行变更
Prisma-binding 还提供了一种方法,可执行数据库变更。这可以通过使用 prisma.mutation()
方法来完成。以下是一些关于如何执行变更的代码示例:
-- -------------------- ---- ------- ----- - ------ - - -------------------------- ----- ------ - --- -------- --------- ----------------------------------- --------- ------------------------ --- ----- ---------- - ----- -- -- - ----- -------- - ----- ----------------- -------- - ---------------- - ----- ----- -- - -- ---- - - --- ------ --------- --
上面的代码创建了一个名为 createUser
的函数。该函数创建一个新用户并返回其 ID 和名称。
然后,您可以像调用 getUsers
函数一样,调用 createUser
变更函数:
createUser().then((result) => { console.log(result); });
结论
在此技术文章中,我们已经深入研究了如何使用 prisma-binding 来连接到 Prisma 数据库服务,并查阅了如何使用 Prisma-binding 包执行查询和变更。我们强烈建议您仔细阅读文档,以获得更多关于此 npm 包的详细信息。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/prisma-binding