Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 用graphql覆盖删除错误_Node.js_Mongoose_Graphql_Next.js_Apollo - Fatal编程技术网

Node.js 用graphql覆盖删除错误

Node.js 用graphql覆盖删除错误,node.js,mongoose,graphql,next.js,apollo,Node.js,Mongoose,Graphql,Next.js,Apollo,我知道这已经被贴了很多次了,我的问题是我实际上不止一次地运行用户模型,试图覆盖模型,Mongoose对此并不满意 我的问题是如何/在哪里运行它多次?每次服务器自动刷新时,错误都会重复出现。使用Next.js 10、graphql 15、mongoose 5.10。堆栈跟踪中列出的文件如下所示: Mongoose模式:user.js const mongoose = require("mongoose"), Schema = mongoose.Schema, p

我知道这已经被贴了很多次了,我的问题是我实际上不止一次地运行用户模型,试图覆盖模型,Mongoose对此并不满意

我的问题是如何/在哪里运行它多次?每次服务器自动刷新时,错误都会重复出现。使用Next.js 10、graphql 15、mongoose 5.10。堆栈跟踪中列出的文件如下所示:

Mongoose模式:user.js

const mongoose = require("mongoose"),
    Schema = mongoose.Schema,
    passportLocalMongoose = require("passport-local-mongoose");

const UserSchema = new Schema({
    username: String,
    lastName: String,
    email: {
        type: String,
        unique: true,
        required: true,
    },
    resetPasswordToken: String,
    resetPasswordExpires: Date,
    password: String,
    school: {
        id: {
            type: mongoose.Schema.Types.ObjectId,
            ref: "School",
        },
        schoolName: String,
    },
    isTeacher: {
        type: Boolean,
        default: false,
    },
    isAdmin: {
        type: Boolean,
        default: false,
    },
});

// schema.plugin(require("mongoose-beautiful-unique-validation"));
UserSchema.plugin(passportLocalMongoose, { usernameField: "email" });

const User = mongoose.model("User", UserSchema);

export default User;
用于graphql游乐场的Apollo服务器:graphql.js

import { ApolloServer } from "apollo-server-micro";
import { mergeResolvers, mergeTypeDefs } from "graphql-tools";
import { userMutations } from "../../src/api/user/mutations";
import { userResolvers } from "../../src/api/user/resolvers";
import connectDb from "../../lib/mongoose";
import User from "../../src/api/user/User.graphql";

const resolvers = mergeResolvers([userMutations, userResolvers]);

const typeDefs = mergeTypeDefs([User]);

const apolloServer = new ApolloServer({
    typeDefs,
    resolvers,
});

export const config = {
    api: {
        bodyParser: false,
    },
};

const server = apolloServer.createHandler({ path: "/api/graphql" });
export default connectDb(server);
突变定义:translations.js

import User from "./user";

export const userMutations = {
    Mutation: {
        async addUser({ user }) {
            try {
                const newUser = await User.create(user);
                return newUser;
            } catch (e) {
                console.log(e);
            }
        },
    },
};