我已经开始了一个项目,在使用node.js和express,它连接到一个mongodb,这个数据库有三个集合(参与者,房屋和活动),一个参与者可以有一个房子和任何活动!我已经为每个查询用graphql完成了查询,但我不知道如何进行查询并检索它们之间的关系。例如,我如何才能知道与参与者是在一个坚定的房子..。
发布于 2018-04-21 15:00:03
请阅读GraphQL文档
GraphQL文档倾向于关注查询,更少关注突变,更少关注定义模式,更少关注服务器的设置,更少关注将服务器绑定到实际数据库上。
type participant{
_id: String
title: String
participantId:String
........
house : house
}
type house{
_id: String
title: String
houseId:String
........
activities : [activity]
}
type activity{
_id: String
name: String
content: String
post: Post
}这是样例模型,您可以根据需要设计模式。
现在您可以尝试这样的查询
query {
participants{
_id
title
}
house {
_id
houseId
comments {
_id
postId
content
}
}
}这是示例查询格式。
发布于 2018-04-21 22:26:39
我的模式是:
type Participant {
_id: ID!,
CodP: String!,
User: String!,
Birth: Date,
Country: String,
Email: String,
ApplyDate: Date,
LUG: String,
Status: String,
Control: String,
CodH: House,
CodA: [Activitie],
createAt: Date,
updateAt: Date,
}
type Activitie {
_id: ID!,
CodA: String,
Day: String,
StartTime: Date,
EndTime: Date,
Where: String,
Name: String,
Description: String,
}
type House {
_id: ID!,
CodH: String,
Name: String,
Onwer: String,
Address: String,
Local: String,
Contact1: String,
Contact2: String,
Contact3: String,
Email: String,
URL: URL,
CoordDD: String,
CoordDMS: String,
URLGoogleMaps: URL,
IMG: String,
Group: String,
ImgGoogleMaps: String,
I1: String,
Info: String,
I2: String,
N1: String,
I3: String,
N2: String,
I4: String,
N3: String,
I5: String,
N4: String,
I6: String,
N5: String,
I7: String,
N6: String,
I8: String,
N7: String,
I9: String,
N8: String,
I10: String,
N9: String,
I11: String,
Final: String
}
type Query {
getParticipant(_id: ID): Participant
getParticipantAll: [Participant]
getActivitie(_id: ID): Activitie
getActivitieAll: [Activitie]
getHouse(_id: ID): House
getHouseAll: [House]
getHouseCod(CodH: String): [House]
}但是我在Resolver中的问题,简单地说是我能做到的,例如:
import House from '../../models/House';
export default {
getHouse: (_, { _id }) => House.findById(_id),
getHouseCod: (_, { CodH }) => House.find({CodH}),
// createdAt vai permitir ordenar pela data de criação //
getHouseAll: () => House.find({}).sort({ createdAt: -1 }),
};https://stackoverflow.com/questions/49955809
复制相似问题