首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >GraphQL Prisma -定义链接到两个用户的“投票”类型

GraphQL Prisma -定义链接到两个用户的“投票”类型
EN

Stack Overflow用户
提问于 2018-03-28 06:11:53
回答 1查看 181关注 0票数 2

我刚开始用Prisma。以前主要是使用firebase和mongodb来定义我的模式。

我试图定义以下模式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Vote {
    id: ID!
    from: User! # The user who voted
    for: User! # The user that received a vote
    rate: Float!
}

基本上,我想要实现的是让用户投票给其他用户(给他们一个分数)。比如说,在MongoDB中,我会创建一个单独的集合,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    id: DocumentID
    from: String // id of the user who voted
    for: String // id of the user that received a vote
    rate: Number
}

在这里,我只是将这些字段(from和for)指定为字符串,然后通过应用程序逻辑将它们与用户集合链接起来。

当然,在GraphQL Prisma,情况会有所不同。但我还是有点搞不懂这种关系是如何建立起来的。以及下面到底发生了什么。

如何使用Prisma GraphQL创建这样的模式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-31 06:46:07

当同一类型有多个关系字段时,需要使用@relation指令使其明确无误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
type Vote {
  id: ID! @unique
  votingUser: User! @relation(name: "VoteAuthor")
  votedUser: User! @relation(name: "VoteReceiver")
  rate: Float!
}

type User {
  id: ID! @unique
  receivedVotes: [Vote!]! @relation(name: "VoteReceiver")
  givenVotes: [Vote!]! @relation(name: "VoteAuthor")
  name: String!
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49536857

复制
相关文章
Aragon的乐观投票:链外投票与链上执行方案
乐观投票(Optimistic voting)[4]一段时间以来,它一直是 Aragon 社区中的热门话题。当我们开始研究该主题时,用户投票需要花费是几美分。而如今,随着以太坊[5]的阻塞,用户投票的成本可能高达 30 美元。
Tiny熊
2021/01/28
1.3K0
Aragon的乐观投票:链外投票与链上执行方案
prisma后端框架基本使用
prisma后端框架基本使用 重点 定义:GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义) prisma logout prisma account prisma help Prisma API基于数据模型进行部署,并为该文件中的每个模型公开CRUD和实时操作。 prisma generate schema概念:**也是定义各种数据模型,有三个东西Query,Mutation,Subscribtion,决定resolver有哪些
一个淡定的打工菜鸟
2020/01/20
1.7K0
投票系统如何防止一个用户多次投票
最简单的方法就是在用户投票以后记录下一定信息,每次投票时就检测这个特定信息是否存在。实现的方法我想到了3种,具体如下: 1,用Page.Session;   private void saveInSession()   {    if(Page.Session["ok"]==null)    {     Vote();     Page.Session["ok"]=1;    }    else    {     NoVote();    }   } 2,用Request.Cookies;   private void saveInCookie()   {    if(Request.Cookies["ok"]==null)    {         Vote();         HttpCookie cookie = new HttpCookie("ok");         cookie.Values.Add("visit","1");         cookie.Expires = DateTime.Now.AddYears(1);         Response.AppendCookie(cookie);    }    else    {     NoVote();     }   } 3,用Page.Cache; private void saveInCache()   {    if(Page.Cache["ok"]==null)    {     Vote();     Page.Cache["ok"]=1;    }    else    {     NoVote();    }   } 要做复杂点也可以把用户的ip记录下来,写入数据库,在投票前先查看数据库是否有投票记录,这个方法就复杂多了,但是可以避免前几种用户关掉页面又进入可以投票的问题。 若大家还有什么更好的方案请回帖。
深蓝studyzy
2022/06/14
1.6K0
短链系统设计-用户自定义短链
实现一个顾客短网址,使得顾客能创立他们自己的短网址。即你需要在前文基础上再实现一个 createCustom。
JavaEdge
2022/09/14
2.2K0
短链系统设计-用户自定义短链
【译】适用于Node.js和TypeScript的完整ORM —— Prisma
Prisma是 Node.js 和 TypeScript 的下一代 ORM。经过两年多的开发,我们很高兴分享所有 Prisma 工具已准备好投入生产!
狂奔滴小马
2022/03/29
1.9K0
【译】适用于Node.js和TypeScript的完整ORM —— Prisma
适用于Node.js和TypeScript的完整ORM —— Prisma
Prisma是 Node.js 和 TypeScript 的下一代 ORM。经过两年多的开发,我们很高兴分享所有 Prisma 工具已准备好投入生产!
狂奔滴小马
2021/11/15
1.8K1
适用于Node.js和TypeScript的完整ORM —— Prisma
写在 2021: 值得关注/学习的前端框架和工具库
最近在知乎看到了这么个问题:学完Vue还有必要学习React和Node吗?[1], 有很奇妙的感觉,因为我在最开始入门前端时,也是以Vue入的门,在“学完”Vue之后, 我也有了类似的疑问,但当时的我没多想,觉得“技多不压身”,反正都是前端,以后肯定用得上,那就学呗。
五月君
2021/06/10
4.2K0
写在 2021: 值得关注/学习的前端框架和工具库
GraphQL 从入门到实践
本文首先介绍了 GraphQL,再通过 MongoDB + graphql + graph-pack 的组合实战应用 GraphQL,详细阐述如何使用 GraphQL 来进行增删改查和数据订阅推送,并附有使用示例,边用边学印象深刻~
前端下午茶
2019/06/27
2.5K0
GraphQL 从入门到实践
基于用户投票的排名算法(二):Reddit
(不好意思,这个系列中断了近两周,我会尽快在这几天,把后面几篇写完。) 上一次,我介绍了Hacker News的排名算法。它的特点是用户只能投赞成票,但是很多网站还允许用户投反对票。就是说,除了好评以外,你还可以给某篇文章差评。 Reddit是美国最大的网上社区,它的每个帖子前面都有向上和向下的箭头,分别表示"赞成"和"反对"。用户点击进行投票,Reddit根据投票结果,计算出最新的"热点文章排行榜"。 怎样才能将赞成票和反对票结合起来,计算出一段时间内最受欢迎的文章呢?如果文章A有100张赞成票、5张反对
wangxl
2018/03/08
9660
GraphQL学习第二篇 -GraphQL类型与查询方式
GraphQL 的类型系统分为标量类型(Scalar Types,标量类型)和其他高级数据类型。
越陌度阡
2020/11/26
9740
写在2021: 值得关注/学习的前端框架和工具库
最近在知乎看到了这么个问题:学完Vue还有必要学习React和Node吗?, 有很奇妙的感觉,因为我在最开始入门前端时,也是以Vue入的门,在“学完”Vue之后, 我也有了类似的疑问,但当时的我没多想,觉得“技多不压身”,反正都是前端,以后肯定用得上,那就学呗——
用户7365393
2021/09/19
2.9K0
精读《Prisma 的使用》
ORM(Object relational mappers) 的含义是,将数据模型与 Object 建立强力的映射关系,这样我们对数据的增删改查可以转换为操作 Object(对象)。
黄子毅
2022/03/15
3.8K1
精读《Prisma 的使用》
彻底玩坏PRISMA
自从从技术层面破解了PRISMA以后,我现在工作的一个内容就是“彻底玩坏”PRISMA,反正只要有大师图还有照片就可以做效果模拟,这种大量的用机器代替人做滤镜开发的事情毫无疑问对生产力有了很大的提升。那就玩呗。 模特就不用多找了,还是我们老几个,再加一个伦敦塔。本着多快好省建设社会主义的原则,这次玩特意把COCO缩小到5%的规模,也就是把训练速度提高20倍。听起来不错吧?一会儿就知道了,代价其实是观众多吐几轮。而且自从我团队从一曾姓妇科大夫手里借来一台GTX980TI以及从荷兰建业转会过来一位自带GTX10
刀刀老高
2018/04/11
6440
彻底玩坏PRISMA
基于用户投票的排名算法(三):Stack Overflow
上一篇文章,我介绍了Reddit的排名算法。 它的特点是,用户可以投赞成票,也可以投反对票。也就是说,除了时间因素以外,只要考虑两个变量就够了。 但是,还有一些特定用途的网站,必须考虑更多的因素。世界
wangxl
2018/03/08
1.1K0
基于用户投票的排名算法(三):Stack Overflow
30分钟理解GraphQL核心概念
在上一篇文章RPC vs REST vs GraphQL中,对于这三者的优缺点进行了比较宏观的对比,而且我们也会发现,一般比较简单的项目其实并不需要GraphQL,但是我们仍然需要对新的技术有一定的了解和掌握,在新技术普及时才不会措手不及。
littlelyon
2018/10/15
2K0
SQLServer:用户自定义数据类型用法
今天给大家梳理一下SQLServer:用户自定义数据类型用法,希望对大家能有所帮助!
小明互联网技术分享社区
2021/02/23
2.2K0
SQLServer:用户自定义数据类型用法
30分钟理解GraphQL核心概念
在上一篇文章RPC vs REST vs GraphQL中,对于这三者的优缺点进行了比较宏观的对比,而且我们也会发现,一般比较简单的项目其实并不需要GraphQL,但是我们仍然需要对新的技术有一定的了解和掌握,在新技术普及时才不会措手不及。
littlelyon
2018/10/19
9860
SQLServer:用户自定义数据类型用法
今天给大家梳理一下SQLServer:用户自定义数据类型用法,希望对大家能有所帮助!
小明互联网技术分享社区
2021/02/26
1K0
SQLServer:用户自定义数据类型用法
区块链 Hello World -- 基于以太坊的投票Dapp
准备接手一个IPFS+Ethereum的项目,先学习一下Ethereum,并尝试完成一个Hello World。
HaythamXu
2019/09/10
7560
点击加载更多

相似问题

GraphQL数据建模.扩展类型(Prisma)

12

GraphQL / Prisma中的相同类型关系

10

用户类型graphql的多个定义

12

用户的自定义功能角色不工作、嵌套查询、prisma graphql

10

prisma中嵌套类型的相应graphql标记突变

117
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文