网站建设的结论和体会,建设工程施工合同法条,网站seo解决方案,做网站建设的电销1、Clound 云
云地址#xff1a;Dgraph Cloud
登录Clound 云后#xff0c;可以用云上的东西操作#xff0c;可以用谷歌账号或者github账号登录。
启动云
#xff08;1#xff09;在云控制台#xff0c;点击 Launch new backend.
#xff08;2#xff09;选择计划Dgraph Cloud
登录Clound 云后可以用云上的东西操作可以用谷歌账号或者github账号登录。
启动云
1在云控制台点击 Launch new backend.
2选择计划云 provider和区域。
3clound云命名
4新的clound 云被创建直接使用。
2、创建Schema
Schema 类似数据库的表设计设计好一个好的Schema是一个好的图数据库的关键。下面用官方的例子做个演示。设计一个产品Product,用户Customer和评价Review 三个对象。其中product 有三个属性productID,name和reviewsCustomer 有两个属性 username和reviews。review有五个属性id,about,by,comment和reting。其中Product的reviews 的属性只是Product 与Review的about属性有关联Customer同样。属性冒号后面表示的是属性类型其他参数表示查询限制条件。
type Product {productID: ID!name: String search(by: [term])reviews: [Review] hasInverse(field: about)
}type Customer {username: String! id search(by: [hash, regexp])reviews: [Review] hasInverse(field: by)
}type Review {id: ID!about: Product!by: Customer!comment: String search(by: [fulltext])rating: Int search
}把这个代码放到云Schema 里面点击发布 Deploy 3、选择自己的前端测试工具
除了前章介绍的GraphQL还有以下常用的几种。 GraphQL Playground, Insomnia, GraphiQL, Altair or Postman。
我自己先下载了Altair工具可以根据喜好下载。
4、添加数据
1添加Product和Customer数据。
数据添加是通过mutation。用下面的代码添加添加后点击运行。
mutation {addProduct(input: [{ name: GraphQL on Dgraph }{ name: Dgraph: The GraphQL Database }]) {product {productIDname}}addCustomer(input: [{ username: Michael }]) {customer {username}}
}运行后得到如下数据
{data: {addProduct: {product: [{productID: 0x2,name: GraphQL on Dgraph},{productID: 0x3,name: Dgraph: The GraphQL Database}]},addCustomer: {customer: [{username: Michael}]}},extensions: {requestID: b155867e-4241-4cfb-a564-802f2d3808a6}
}
2添加Review
用下面的语句添加注意这里productID 要参照上面product自动生成的id 不一定叫0x2
{data: {addProduct: {product: [{productID: 0x2,name: GraphQL on Dgraph},{productID: 0x3,name: Dgraph: The GraphQL Database}]},addCustomer: {customer: [{username: Michael}]}},extensions: {requestID: b155867e-4241-4cfb-a564-802f2d3808a6}
}点击运行得到如下数据
{data: {addProduct: {product: [{productID: 0x2,name: GraphQL on Dgraph},{productID: 0x3,name: Dgraph: The GraphQL Database}]},addCustomer: {customer: [{username: Michael}]}},extensions: {requestID: b155867e-4241-4cfb-a564-802f2d3808a6}
}5、查询数据
1根据评价字段查询
query {queryReview(filter: { comment: {alloftext: easy to install}}) {commentby {username}about {name}}
}2还可以根据评价文字和评分一起查
query {queryReview(filter: { comment: {alloftext: easy to install}}) {commentby {username}about {name}}
}3还可以正则查和排序
query {queryCustomer(filter: { username: { regexp: /Mich.*/ } }) {usernamereviews(order: { asc: rating }, first: 5) {commentratingabout {name}}}
}可以放进去自己看看效果这里就不粘贴了。