0

最近、データベースから条件 (find({'author.id':id}) など) を持つ複数のレコードを検索するときに Graphql を使い始めました。応答 NULL を取得しています。応答は null を示します。

私のコードは次のようになります:

 export default {
    eventByUserId: {
        type: new GraphQLList(EventType),
        args: {
          id: {
            type: GraphQLID
          }
        },
        resolve: (root, {id}) => {
      return new Promise((resolve, reject) => {
        Event.find({'author.id': id}).exec((err, res) => {
        console.log(res);
         err ? reject(err) : resolve(res);
        });
      });
    };
   }
  };

次のようなクエリを渡します。

  {
  eventByUserId 
    ( 
      id:"55dd69e702a488b81c4dd8ed" 

     )  
     {
        title 
        description
        start
        media{url}
        location{state,city}
        author{id, name}
        comments{text,created,author{id,name}}
        posts{url,mediaType,imageUrl,note,author{id,name}}
        _id
      }
    }

次のような応答:

{
    "data": {
        "eventByUserId": {
            "title": null,
            "description": null,
            "start": null,
            "media": null,
            "location": null,
            "author": null,
            "comments": null,
            "posts": null,
            "_id": null
        }
    }
}

これは私の EventType です:

export default new GraphQLObjectType({
  name: 'Event',
  description: 'A event',
  fields: () => ({
       _id: {
      type: GraphQLString,
      description: 'The id of the event.',
    },
    title: {
      type: GraphQLString,
      description: 'The title of the event.',
    },
     description: {
      type: GraphQLString,
      description: 'The description of the event.',
    },
    start: {
      type: GraphQLString,
      description: 'The start date of the event.',
    },
    media:{
      type:new GraphQLList(MediaType),
      description:'List of media.',   
    },
    location:{
      type:new GraphQLList(LocationType),
      description:' The list of location. ',   
    },
    comments:{
      type:new GraphQLList(CommentType),
      description:' The list of Comments. ',   
    },
    posts:{
      type:new GraphQLList(PostType),
      description:' The list of Posts. ',   
    },
    created: {
      type: GraphQLString,
      description: 'The created at.',    
    },
    author:{
       type: AuthorType,
      description: 'The author for the event.',        
    }
  })
});
4

1 に答える 1

0

この状況では、データのリストを解決しようとしているので、eventByUserId で、type:EventType の代わりに type:new GraphQLList(EventType) のようなタイプとして GraphQLList を指定する必要があります。私も投稿を編集しています。ご支援いただきありがとうございます..

于 2015-09-11T05:09:32.873 に答える