Как отсортировать данные в GraphQl с помощью сервера Apollo? - PullRequest
0 голосов
/ 21 июня 2019

Я использую Apollo-сервер для написания кода GraphQL.перед отправкой данных я хочу выполнить некоторую сортировку данных на основе необязательных полей и фильтров, и мне нужно знать правильный способ написания своего кода?Есть ли в graphql метод для автоматической сортировки моих данных?

Я использовал lodash для сортировки, и я думаю, что они не оптимизированы после того, как я искал, я увидел prisma , но мойданные возвращаются другим API, не в базе данных.Мне нужно что-то вроде призмы.

мой код примерно такой, я хочу отсортировать базу книг по имени или фамилии в запросе, но в реальных объектах книги, возвращаемых API.

const { ApolloServer, gql, } = require('apollo-server');

const books = [
{
    title: 'Harry Potter and the Chamber of Secrets',
    authors: [{"name":"a1", "lastName":"aa1"},{"name":"b1", "lastName":"bb1"},{"name":"c1", "lastName":"cc1"}]
  },
  {
    title: 'Jurassic Park',
    authors: [{"name":"a" ,"lastName":"aa"},{"name":"b", "lastName":"bb"},{"name":"c", "lastName":"cc"}]
  },
];
const typeDefs = gql`

type Book {
    title: String
    authors: [Author]
  }
type Query{
    books: [Book]
  }
type Author{
name: String
lastName: String
}
  `;
const resolvers = {
  Query: 
  {
    books: () => books,
// in real this book return by an api !

  },
};
const server = new ApolloServer({ typeDefs, resolvers });

server.listen({port: 3002, path: '/graphql'}).then(({ url }) => {
  console.log(`?  Server ready at ${url}`);
});

Есть лифункция в графике?

1 Ответ

0 голосов
/ 25 июня 2019

Нет, нет возможности сортировать, упорядочивать или выполнять какую-либо фильтрацию только с помощью GraphQL.Вам нужно реализовать сортировку самостоятельно или с помощью ORM (создайте метод, который делает это), затем подключите эту логику к распознавателю, который будет выполнять предоставленный вами метод распознавателя.

...