最近、データベースから条件 (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.',
}
})
});