因此,我试图通过Meteor应用程序中的GraphQL查询访问数据库中的特定文档。我从URL中解析了文档ID,并且试图创建一个gql查询来获取该文档,但是我的查询返回了undefined,因为该查询的参数是undefined。我不确定自己哪里出了问题,因为我还是GraphQL的新手。
查询
const contactId = instance.getContactId();
const CONTACT_QUERY = gql`
query contact {
contact(_id: "${contactId}") {
_id
name
customerId
phone
email
position
decisionMaker
}
}
`;
模式
type Contact {
_id: String!
name: String!
customerId: String
phone: String
email: String
position: String
decisionMaker: String
}
type Query {
contacts: [Contact]
contact(_id: String!): Contact
}
解析器
import { Contacts } from './contacts.js';
export default {
Query: {
contacts() {
return Contacts.find({}).fetch();
},
contact(contactId) {
console.log(contactId);
return Contacts.findOne({_id: contactId});
}
},
};
答案 0 :(得分:0)
执行GraphQL查询不会将文档加载到minimongo中,因此您的客户端Meteor.Collection
将为空。通常,人们选择使用Meteor的实时数据系统(出版物,订阅,馆藏和方法)或Apollo(查询和突变)。如果要执行后者,请遵循Apollo的文档,了解如何执行CONTACT_QUERY
和访问结果。