Синтаксис параметров запроса GraphQL для передачи переменных - PullRequest
0 голосов
/ 07 сентября 2018

Итак, я пытаюсь получить доступ к конкретному документу в моей базе данных с помощью запроса GraphQL в моем приложении Meteor.Я анализирую идентификатор документа из моего URL-адреса и пытаюсь создать запрос gql, чтобы получить этот документ, однако мой запрос возвращает значение 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
}

Resolver

import { Contacts } from './contacts.js';

export default {
  Query: { 
    contacts() {
        return Contacts.find({}).fetch();
    },
    contact(contactId) {
        console.log(contactId);
        return Contacts.findOne({_id: contactId});
    }
  },
};

1 Ответ

0 голосов
/ 08 сентября 2018

Выполнение запроса GraphQL не загружает документы в minimongo, поэтому ваши Meteor.Collection s на стороне клиента будут пустыми. Обычно люди выбирают либо систему метаданных Метеора (публикации, подписки, коллекции и методы), либо Apollo (запросы и мутации). Если вы хотите сделать последнее, следуйте документации Аполлона о том, как выполнить CONTACT_QUERY и получить доступ к результатам.

...