Узел, GraphQL + MongoDB: запрос отношений «многие ко многим» - PullRequest
1 голос
/ 08 апреля 2020

Я строю сервер с Express, GraphQL и MongoDB. Мне может понадобиться направление в моём моделировании данных Mon go или настройке GraphQl Schema, я не уверен. Для этого примера у меня есть модель пользователя и модель цели. У пользователя может быть несколько целей, и я планировал сохранить идентификаторы целей в модели пользователя. Пользовательский запрос работает, но цели возвращает ноль.

const UserSchema = new Schema({
  firstName: { type: String, required: true },
  ...
  goals: [{ type: Schema.Types.ObjectId, ref: "Goal" }]
});

const GoalSchema = new Schema({
  goal: { type: String, required: true },
  users: [{ type: Schema.Types.ObjectId, ref: "User" }]
});

Ниже приведена схема GraphQL:

const UserType = new GraphQLObjectType({
  name: "User",
  fields: () => ({
    id: { type: GraphQLID },
    firstName: { type: GraphQLString },
    ...
    goals: {
      type: new GraphQLList(GoalType),
      resolve(parent, args) {
        return Goal.find({ id: parent.goals });
      },
    },

  }),
});

Каков лучший способ go по этому поводу?

...