所以,我不知道如何在graphql服务上进行处理。
我正在将服务从其余部分迁移-express api到apollo api。
我当前的mongo模式如下:
const PostSchema = new mongoose.Schema({
title: { type: String, required: true },
body: { type: String },
uid: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true },
privacy: { type: String, enum: ['everyone','followers','onlyme'], default: 'everyone' },
});
const UserSchema = new mongoose.Schema({
name: { type: String, required: true },
followers: [{ type: mongoose.Schema.Types.ObjectId, ref: 'User' }],
});
在快速环境中,我曾经和人口稠密的用户发帖,然后根据用户关注者应用隐私控制功能。
但是在阿波罗中,填充后我无法访问帖子。帖子字段解析后,我在哪里可以应用指令?
graphql模式:
type User {
_id: ID!
name: String
followers: [ID]
}
type Post {
_id: ID!
title: String!
body:String
uid :User @privacy
}
extend type Query{
post(_id: String):Post
posts:[Post]
}
后解析器:
{
Query: {
post: (p, a, ctx, info) => {
return ctx.modules.post.getPost(a._id)
}
},
Post: {
uid: (p, a, ctx, info) => {
return ctx.modules.user.getUser(p.uid);
}
},
}