Zoeken op website

node.js - Het schrijven van een GraphQL-resolver om een gebruiker toe te voegen aan een MongoDB-database


Ik probeer een werkende GraphQL-resolver te maken om een gebruiker toe te voegen aan mijn MongoDB-database. Op dit moment werkt mijn addUser-mutation niet, maar mijn deleteUser werkt wel. Ik heb hulp nodig om deze mutation werkend te krijgen in een vergelijkbaar formaat als hoe mijn deleteUser-mutation werkt.

import { ObjectId } from "mongodb";
import { Database, User } from "../../../lib/types";


export const userResolvers: IResolvers = {
  Query: {
    users: async (_root: undefined, _args: {}, { db }: { db: Database }) => {
      return await db.users.find({}).toArray();
    }
  },
  Mutation: {
     addUser : async ({ db }: { db: Database },  fullName: string, email: string, phoneNumber: string, city: string  ) => {
      const user: User = 
        {
          _id: new ObjectId(),
          fullName: fullName,
          phoneNumber: phoneNumber,
          city: city,
          email:email,
  
        }
      const newUser = await db.users.insertOne(user);
      return newUser;
  },

    deleteUser: async (
      _root: undefined,
      { id }: { id: string },
      { db }: { db: Database }
    ) => {
      const deleteRes = await db.users.findOneAndDelete({
        _id: new ObjectId(id)
      });

      if (!deleteRes.value) {
        throw new Error("failed to delete user");
      }

      return deleteRes.value;
    }
  },
  User: {
    id: (user: User): string => user._id.toString()
  }
};```