问题标签 [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.

0 投票
1 回答
29 浏览

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/";

但控制台返回错误:“找不到模块...”

0 投票
0 回答
952 浏览

reactjs - 使用来自 GraphQL 的数据获取 Material-UI 表的动态行数

我正在使用 GRANDstack 构建一个应用程序,该应用程序使用 GraphQL 从图形数据库中提取一些数据。在我的 React 前端中,我创建了一个表来显示具有搜索和排序功能的数据,现在我尝试添加固定数量的分页,每页 20 行,如果少于 20 行,则填充空行形成搜索。

到目前为止,除了动态创建数据集中的总行数外,我已经成功地完成了这项工作。这是当前的输出:

在此处输入图像描述 如您所见,我目前正在获取NaN页面上的行数和undefined总行数。

以下是我当前的脚本:

我遇到的具体问题是计算rows.length,因为我已经从一个将行定义为数组的示例修改了这一点,而不是使用 GraphQL 从图形数据库中提取。搜索表时也存在计算挑战,rows.length因为搜索时行数会减少。

0 投票
1 回答
199 浏览

reactjs - 来自 GraphQL 的动态数据的材质 UI 卡渲染问题

我在正在构建的 GRANDstack 应用程序中使用 Material UI 进行卡片渲染时遇到问题。

当我使用静态数据设置卡片时,它们按预期呈现:

在此处输入图像描述

但是,当我使用来自 GraphQL 的动态数据设置它们时,它们会垂直呈现,而不是在网格中:

在此处输入图像描述

当我向网格容器添加“行”属性以尝试将它们显示在网格中时,这会使它们变得更糟:

在此处输入图像描述

当我从 GraphQL 添加动态数据时,我想让卡片像静态数据一样显示。

0 投票
2 回答
89 浏览

neo4j - 自动生成的突变不会创建关系

我想测试通过从“neo4j-graphql-js”调用 makeAugmentedSchema 创建的自动生成的 CRUD 突变。创建节点没有问题,但创建关系对我不起作用。请告知我在这里做错了什么。

架构:

突变:我遵循接口突变指南https://grandstack.io/docs/graphql-interface-union-types来创建突变。

它创建 Person 和 Bio 节点,但两者之间没有创建任何关系:

这是 AddPersonBioRelation 的样子: 在此处输入图像描述

谢谢你。

0 投票
0 回答
64 浏览

neo4j - 根据 graphQL 模式验证 neo4j 数据库

在开发和原型设计期间(我猜从长远来看),GraphQL 模式可能会发生很多变化,包括删除/重命名节点、关系、属性等。这些旧项目保留在 neo4j 数据库中,并且数据库不遵守架构不再(不适用于架构更改之前的现有项目)。

我的问题是:如何定期(或在服务器初始化时)根据我的 GraphQL 模式检查现有的 neo4j db 条目并识别不遵守它的项目?我觉得即使你有 2 个 db 用于开发和生产,这也会是有益的?

我使用的是 neo4j-graphql-js 而不是内部的 GraphQL(通过插件)。

我知道 neo4j(以及其他 NoSQL 数据库)是无模式的。我还看到apollo允许您监视模式更改,但检查客户端而不是数据库本身。

0 投票
0 回答
196 浏览

reactjs - GraphQL 查询不返回带有 id 参数的结果

我在 Neo4j 上设置了一个基本图表,其中包含一些电影,我正在使用 GraphQL 从 React 应用程序连接到它。在将它们添加到我的 React 应用程序之前,我正在使用 GraphQL 操场测试一些查询,并且在传递 ID 类型参数时遇到了问题。我的每个mem节点都有以下架构(如 GraphQL 操场文档中所示):

当我查询图形时,我可以传递参数,例如mem返回特定节点的字符串。例如,以下查询:

从该节点返回以下数据:

但是,当我尝试将 amemID作为参数传递时,如下所示:

我得到以下响应,而不是返回节点的数据:

我对 graphQL 比较陌生,感觉我缺少一些基本的东西,但是我搜索了文档并进行了很多谷歌搜索,但找不到解决方案。我希望能够使用memID作为参数来查询我的图表,但不能让它工作。

更新

文档指出 memID 是一个标量,我只是不知道如何在查询中表达它。它声明它可以表示为数字或字符串,但都没有工作:

在此处输入图像描述

0 投票
1 回答
49 浏览

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"}]}

感谢您的任何建议!

0 投票
1 回答
253 浏览

javascript - 错误:不知道如何处理这种类型的突变。突变不遵循命名约定

使用GRANDstack Starter模板项目,我将 apollo-server 与 neo4j 结合使用。我有一个CreateParticipant突变(在带有 @cypher 指令的 schema.graphql 中定义),我想将其重用于新的突变。

传递到增强模式中的简化解析器如下所示:

突变在 schema.graphql 文件中定义,如下所示:

当我现在尝试通过前端上传文件时,apollo-server 在执行resolvers.Mutation.CreateParticipant(parent, payload, context, info). 有效负载是一个具有突变期望的键/值对的对象。

抛出的错误是:

错误:不知道如何处理这种类型的突变。突变不遵循命名约定。

我想知道是否通过未修改info是这不起作用的原因。

0 投票
1 回答
318 浏览

neo4j - 启动 graphQL 架构师时无限加载

当我尝试从我的 Neo4J 桌面应用程序启动 graphQL 架构师时,我面临着无限加载。我在日志中发现应用程序没有找到文件(grandstack.js)。

我不明白为什么我会遇到此错误,因为该文件存在。

我正在使用 v1.3.4 Neo4J 桌面应用程序,我的数据库在 v3.5.21 中运行

这是加载的屏幕:无限加载

我也无法启动 GraphQL 服务器(当我单击“开始”按钮时,出现消息“INFO :: Local Graph Process Exit”并且没有其他任何事情发生)。

我还有另一台计算机,我在其中使用具有完全相同版本的 graphQL 架构师应用程序,并且一切正常。

0 投票
1 回答
71 浏览

authentication - 在 GRANDstack 中设置用户级别授权

我使用 repo graphql-auth-directives授权创建了一个基于 GRANDstack 的问答平台(类似于 stackoverflow)。这允许我们检查身份验证、角色级别或范围级别的授权。

在这个平台上,用户可以回答问题并可能将答案保存为草稿。只要没有发布答案,用户自己就应该看到它,但其他人不会看到它。然而,其他用户应该看到所有其他最终的答案。

如何创建这种类型的用户级别授权?结果应提供以下内容:

假设一个问题 Q 的 id someid。目前已确定答案 A1 和 A2。如果某个随机用户 U1 执行查询:

他/她应该将 A1 和 A2 视为答案。但是,如果另一位用户 U2 目前在草稿中对此问题有一个答案,例如 A3。然后他/她应该检索 A1、A2 和 A3。

有一些通用的解决方案吗?如果不是,那么建议的编程此功能的方法是什么?