草庐IT

graphql_collections

全部标签

javascript - Backbone : How to update a collection view when collection changes?

我对Backbone.js比较陌生。我正在初始化一个CollectionView并在创建时传入一个集合。suggestionsView=newTreeCategoriesAutoSuggest.Views.Suggestions({collection:newApp.Collections.Suggestions(this.getSuggestions(query))});然后我渲染CollectionView。每次用户在文本框中输入查询时,都会重新生成集合并使用以下方法将其分配给CollectionView:suggestionsView.collection.set(this.ge

javascript - meteor /蒙戈 : Finding and updating certain elements in a collection

我刚开始使用Meteor,需要一些Mongo方面的帮助。我有一组名称显示在列表中,希望能够根据其他条件更新数据库中某些条目的一个变量。基本上我想做的是:对于特征A=true且B=true的每个条目,将特征C更改为false。到目前为止,我一直在尝试弄清楚Mongo如何处理集合元素上的“foreach”循环,并为每个元素检查条件A和B是否成立,然后collection.update(element,{C:false}).事实证明,这比我想象的要麻烦得多。我想做这样的事情(使用虚拟变量名):for(i=0;i我一直在改变这个基本代码,但我开始感觉到我缺少一些关于索引/集合如何在Mongo中

javascript - 与 Backbone 的 Collections 等价的 AngularJS 是什么?

有没有等价于Backbone'sCollection的或ExtJS'sStore在AngularJS中?我正在了解$resource,但不太了解这方面。Controller//Thisisthe"collection"I'minterestedin.$scope.foos=[];//Fooisa$resource.Foo.query(function(foos){//Thisworks,butisthereasmarter"collection"object?$scope.foos=foos;});$scope.createFoo=function(data){varfoo=newFo

javascript - React、Apollo 2、GraphQL、身份验证。如何在登录后重新渲染组件

我有这个代码:https://codesandbox.io/s/507w9qxrrl我不明白:1)如何在以下之后重新渲染()Menu组件:this.props.client.query({query:CURRENT_USER_QUERY,fetchPolicy:"network-only"});如果我login()我希望我的Menu组件重新渲染()本身。但是什么也没有。只有当我点击Home链接时,它才会重新渲染()本身。我怀疑是因为我正在使用它来渲染它:在react-routerprops中拥抱它。有错吗?另外,如果在login()之后检查Menu的this.props,我会永远看到l

javascript - 从另一个突变调用 GraphQL 突变?

是否可以从一个突变中对另一个graphqlType运行一个突变?我不确定这是否是个好主意。理想情况下,最好为每种graphql数据类型创建突变,然后在需要时调用这些函数中的每一个。希望这能让事情变得更干燥。例如,我有2个graphql类型“项目”和“房间”。对于每个项目,都需要创建一个房间,并将ID放置在项目中以供以后引用。我看到了3种方法:从前端,运行2个不同的graphql查询(针对一个新项目和一个新房间),最后一个使用新房间ID更新项目。在后端/graphql服务器上。为简单起见,只需在一个解析函数内处理所有数据库调用,返回创建的项目和房间。在突变中运行突变。从项目创建函数调用房

javascript - 将变量传递给 Gatsby graphql 查询中的正则表达式

我有以下查询,它正在接收变量$tag。目前,我正在根据其frontmatter.keywords的值过滤结果。keywords是逗号分隔的字符串,所以我需要使用正则表达式来检查其中是否包含$tag,但是我不知道如何传递正则表达式中的变量。如果我将一个值硬编码到正则表达式中(如在下面的代码中我硬编码了/example/,则过滤有效。如果我将example替换为$tag我收到一个错误:GraphQLError:Variable"$tag"isneverusedinoperation"TagQuery".exportconstpageQuery=graphql`queryTagQuery($

javascript - Backbone : Saving an entire collection to non-RESTful server

我一直在浏览多篇关于如何使用非RESTful服务器保存Backbone集合的帖子,但我仍然有点困惑。我创建了一个集合,我在其中覆盖了toJSON方法来自定义我的数据以发布到我的API("/api/entity/735/request/personDelete"目前已换成jsfiddles/echo/json)。所以我创建了一个使用Backbone.sync的save方法,成功我正在注销任何类型的响应并且对象是空虚,不确定东西在哪里丢失或我做错了什么;谁能给我一些指导?只是想让这个示例正常工作,以便我以后可以使用类似的东西。JSvarPersonCollection=Backbone.C

javascript - 具有基于参数的动态字段的 GraphQL ObjectType

我们的情况是我们的GraphQL查询的响应必须返回对象的一些动态属性。在我们的例子中,我们无法预定义所有可能的属性-因此它必须是动态的。我们认为有两种解决方案。constMyType=newGraphQLObjectType({name:'SomeType',fields:{name:{type:GraphQLString,},elements:{/*THISisourspecialfieldwhichneedstoreturnadynamicobject*/},//...},});正如您在示例代码中看到的,元素属性必须返回一个对象。解决此问题时的响应可能是:{name:'somena

javascript - 如何从服务器执行 GraphQL 查询

我正在使用graphql-express创建一个端点,我可以在其中执行graphql查询。虽然我将Sequelize与SQL数据库一起使用,但直接从我的graphql之外的服务器使用它感觉不对resolve职能。如何从定义它的同一服务器查询我的graphqlAPI?这就是我设置graphql端点的方式:constexpress=require('express');constrouter=express.Router();constgraphqlHTTP=require('express-graphql');constgqlOptions={schema:require('./sche

javascript - GraphQL - 如何响应不同的状态码?

我在使用Graphql和ApolloClient时遇到了问题。我在使用REST时总是创建不同的响应,例如401代码,但在这里我不知道如何做类似的行为。当我得到响应时,我希望它转到catch函数。我的前端代码示例:client.query({query:gql`queryTodoApp{todos{idtextcompleted}}`,}).then(data=>console.log(data)).catch(error=>console.error(error));谁能帮帮我? 最佳答案 在GraphQL中(至少在graphql-