问题标签 [grandstack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何导入本地js包而不是网络包
我想自定义包含在 grand-stack-starter中的默认 apollo-server
为此,我克隆了apollo-server 并替换了它(在 grand-stack-starter 中)
import { ApolloServer } from "apollo-server-express";
为了
import { ApolloServer } from "C:/Users/a1ole/Documents/GitHub/apollo-server/packages/apollo-server-express/";
但控制台返回错误:“找不到模块...”
reactjs - 使用来自 GraphQL 的数据获取 Material-UI 表的动态行数
我正在使用 GRANDstack 构建一个应用程序,该应用程序使用 GraphQL 从图形数据库中提取一些数据。在我的 React 前端中,我创建了一个表来显示具有搜索和排序功能的数据,现在我尝试添加固定数量的分页,每页 20 行,如果少于 20 行,则填充空行形成搜索。
到目前为止,除了动态创建数据集中的总行数外,我已经成功地完成了这项工作。这是当前的输出:
如您所见,我目前正在获取NaN
页面上的行数和undefined
总行数。
以下是我当前的脚本:
我遇到的具体问题是计算rows.length
,因为我已经从一个将行定义为数组的示例修改了这一点,而不是使用 GraphQL 从图形数据库中提取。搜索表时也存在计算挑战,rows.length
因为搜索时行数会减少。
neo4j - 自动生成的突变不会创建关系
我想测试通过从“neo4j-graphql-js”调用 makeAugmentedSchema 创建的自动生成的 CRUD 突变。创建节点没有问题,但创建关系对我不起作用。请告知我在这里做错了什么。
架构:
突变:我遵循接口突变指南https://grandstack.io/docs/graphql-interface-union-types来创建突变。
它创建 Person 和 Bio 节点,但两者之间没有创建任何关系:
谢谢你。
neo4j - 根据 graphQL 模式验证 neo4j 数据库
在开发和原型设计期间(我猜从长远来看),GraphQL 模式可能会发生很多变化,包括删除/重命名节点、关系、属性等。这些旧项目保留在 neo4j 数据库中,并且数据库不遵守架构不再(不适用于架构更改之前的现有项目)。
我的问题是:如何定期(或在服务器初始化时)根据我的 GraphQL 模式检查现有的 neo4j db 条目并识别不遵守它的项目?我觉得即使你有 2 个 db 用于开发和生产,这也会是有益的?
我使用的是 neo4j-graphql-js 而不是内部的 GraphQL(通过插件)。
我知道 neo4j(以及其他 NoSQL 数据库)是无模式的。我还看到apollo允许您监视模式更改,但检查客户端而不是数据库本身。
reactjs - GraphQL 查询不返回带有 id 参数的结果
我在 Neo4j 上设置了一个基本图表,其中包含一些电影,我正在使用 GraphQL 从 React 应用程序连接到它。在将它们添加到我的 React 应用程序之前,我正在使用 GraphQL 操场测试一些查询,并且在传递 ID 类型参数时遇到了问题。我的每个mem
节点都有以下架构(如 GraphQL 操场文档中所示):
当我查询图形时,我可以传递参数,例如mem
返回特定节点的字符串。例如,以下查询:
从该节点返回以下数据:
但是,当我尝试将 amemID
作为参数传递时,如下所示:
我得到以下响应,而不是返回节点的数据:
我对 graphQL 比较陌生,感觉我缺少一些基本的东西,但是我搜索了文档并进行了很多谷歌搜索,但找不到解决方案。我希望能够使用memID
作为参数来查询我的图表,但不能让它工作。
更新
文档指出 memID 是一个标量,我只是不知道如何在查询中表达它。它声明它可以表示为数字或字符串,但都没有工作:
neo4j - Grandstack 和 Forcegraph
基于基本的 grandstack 应用程序,我正在尝试从 neo4j 加载数据并基于 forcegraph 2d 包将它们可视化。但是,我无法检索结构中的数据,以便将它们放入 forcegraph。
作为 schema.graphql 中的测试查询,我使用:
networkData: [networkDat] @cypher(statement: """ MATCH (n)-->(m) WITH id(n) AS source, id(m) AS target RETURN {source:source, target:target} as rob LIMIT 5""")
在我的反应组件中: const GET_NETWORK_QUERY = gql` { networkData (first:2){ source target } }
然后我做: const { data } = useQuery(GET_NETWORK_QUERY)
如果我登录它会给我:
{networkData:[{source:2,target:1,__typename:“networkDat”},{source:1274,target:3,__typename:“networkDat”}]}
我想关键是以正确的方式重组数据,所以我需要的是: {nodes: [{name: "A"}, {name: "B"}], links: [{source: "A ",目标:"B"}]}
感谢您的任何建议!
javascript - 错误:不知道如何处理这种类型的突变。突变不遵循命名约定
使用GRANDstack Starter模板项目,我将 apollo-server 与 neo4j 结合使用。我有一个CreateParticipant
突变(在带有 @cypher 指令的 schema.graphql 中定义),我想将其重用于新的突变。
传递到增强模式中的简化解析器如下所示:
突变在 schema.graphql 文件中定义,如下所示:
当我现在尝试通过前端上传文件时,apollo-server 在执行resolvers.Mutation.CreateParticipant(parent, payload, context, info)
. 有效负载是一个具有突变期望的键/值对的对象。
抛出的错误是:
错误:不知道如何处理这种类型的突变。突变不遵循命名约定。
我想知道是否通过未修改info
是这不起作用的原因。
neo4j - 启动 graphQL 架构师时无限加载
当我尝试从我的 Neo4J 桌面应用程序启动 graphQL 架构师时,我面临着无限加载。我在日志中发现应用程序没有找到文件(grandstack.js)。
我不明白为什么我会遇到此错误,因为该文件存在。
我正在使用 v1.3.4 Neo4J 桌面应用程序,我的数据库在 v3.5.21 中运行
这是加载的屏幕:无限加载
我也无法启动 GraphQL 服务器(当我单击“开始”按钮时,出现消息“INFO :: Local Graph Process Exit”并且没有其他任何事情发生)。
我还有另一台计算机,我在其中使用具有完全相同版本的 graphQL 架构师应用程序,并且一切正常。
authentication - 在 GRANDstack 中设置用户级别授权
我使用 repo graphql-auth-directives授权创建了一个基于 GRANDstack 的问答平台(类似于 stackoverflow)。这允许我们检查身份验证、角色级别或范围级别的授权。
在这个平台上,用户可以回答问题并可能将答案保存为草稿。只要没有发布答案,用户自己就应该看到它,但其他人不会看到它。然而,其他用户应该看到所有其他最终的答案。
如何创建这种类型的用户级别授权?结果应提供以下内容:
假设一个问题 Q 的 id someid
。目前已确定答案 A1 和 A2。如果某个随机用户 U1 执行查询:
他/她应该将 A1 和 A2 视为答案。但是,如果另一位用户 U2 目前在草稿中对此问题有一个答案,例如 A3。然后他/她应该检索 A1、A2 和 A3。
有一些通用的解决方案吗?如果不是,那么建议的编程此功能的方法是什么?