最近、GraphQL を使い始めました。名前のベースを使用して mongodb コレクションからレコードを取得できますが、同じコードを使用して _id(mongodb generated id) でデータを取得しようとすると、すべてのフィールドで null 値が取得されます。これが私のサンプルコードです...
query: new GraphQLObjectType({
name: 'RootQueryType',
fields: {
// To get a user based on id
getUser: {
type: UserType,
args: {
_id: {
description: 'The username of the user',
type: new GraphQLNonNull(GraphQLString)
}
},
resolve: (root, {_id}) => {
//Connect to Mongo DB
return mongo()
.then(db => {
return new Promise(
function(resolve,reject){
//Query database
let collection = db.collection('users');
collection.findOne({ _id},(err,userData) => {
if (err) {
reject(err);
return;
}
console.log(userData);
resolve(userData);
});
})
});
}
},
サンプルクエリは次のとおりです。
{
getUser ( _id: "55dd6300d40f9d3810b7f656")
{
username,
email,
password
}
}
次のような応答が得られます。
{
"data": {
"getUser": null
}
}
必要に応じて変更を提案してください...ありがとうございます。