【发布时间】:2020-08-03 23:19:51
【问题描述】:
我正在尝试为 graphQL 创建一个 findOneByEmail/id。我看到了一些问题、博客文章和视频,但它们对我的情况没有帮助。我知道我必须添加一个过滤器,但我必须遗漏一些东西
这是我的resolvers
const users = [
{id: 1, email:'a@a.a',password:'zaq1@WSX', pons:[{value:'test'}]},
{id: 2, email:'b@b.b',password:'ZAQ!2wsx', pons:[{value:'tset'}]}
];
const pons = [{value: 'test'}];
module.exports = {
Query: {
users: () => users,
pons: () => pons,
}
};
typeDefs
const {gql} = require('apollo-server-express');
module.exports = gql`
type Pon {
value: String!
}
type User {
id: Int
email: String!
password: String!
pons: [Pon]!
}
type Query {
findUser(id: Int): [User]
users: [User]
pons: [Pon]
}
`;
app.js
const express = require('express');
const { ApolloServer } = require('apollo-server-express');
const typeDefs = require('./graphql/typeDefs.js');
const resolvers = require('./graphql/resolvers.js');
const server = new ApolloServer({typeDefs, resolvers});
const app = express();
server.applyMiddleware({ app });
app.listen({ port: 4000 }, () =>
console.log(`???? Server ready at http://localhost:4000${server.graphqlPath}`)
);
我正在使用 express 和 apollo-server-express。
我尝试添加users(id: Int) 和users(email: String),但没有成功。您可以在findUser 查询中看到它。我正在调用这样的查询:
query{
findUser(id: 1) {
email
pons {
value
}
}
}
在 GQL 操场上。
我希望能够在服务器上过滤数据,而不是在客户端上,并且在任何地方都找不到解决方案
【问题讨论】:
标签: javascript express graphql apollo apollo-server