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