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()
}
};```