首页
学习
活动
专区
圈层
工具
发布

Node.js
EN

Stack Overflow用户
提问于 2018-04-21 12:33:18
回答 2查看 141关注 0票数 0

我已经开始了一个项目,在使用node.js和express,它连接到一个mongodb,这个数据库有三个集合(参与者,房屋和活动),一个参与者可以有一个房子和任何活动!我已经为每个查询用graphql完成了查询,但我不知道如何进行查询并检索它们之间的关系。例如,我如何才能知道与参与者是在一个坚定的房子..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-21 15:00:03

请阅读GraphQL文档

GraphQL文档倾向于关注查询,更少关注突变,更少关注定义模式,更少关注服务器的设置,更少关注将服务器绑定到实际数据库上。

代码语言:javascript
复制
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
}

这是样例模型,您可以根据需要设计模式。

现在您可以尝试这样的查询

代码语言:javascript
复制
query {
  participants{
    _id
    title
    }
   house {
     _id
     houseId
    comments {
      _id
      postId
      content
    }
  }
}

这是示例查询格式。

票数 0
EN

Stack Overflow用户

发布于 2018-04-21 22:26:39

我的模式是:

代码语言:javascript
复制
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中的问题,简单地说是我能做到的,例如:

代码语言:javascript
复制
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 }),
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49955809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档