将猫鼬findOneAndUpdate与GraphQL一起使用将返回null

问题描述

我试图使用Mongoose和Graph QL运行一个基本的CRUD系统,但是当我使用findOneAndUpdate()函数GraphQL时抛出一个错误,告诉我我返回的是null,console.log已确认。

TypeDefs:

    try:
        query1 = "SELECT id FROM mdl_user WHERE username= ('%s')" % (self.searchuser2)
        cursor.execute(query1)
        linhas = cursor.fetchall()
        for row in linhas:
            self.userid = row[0]
        # Pegando enrol_id do curso
        query2 = "SELECT id FROM mdl_enrol WHERE courseid = %s AND enrol = 'manual'" % (self.rowidcourse)
        cursor.execute(query2)
        linhas = cursor.fetchall()
        for row in linhas:
            self.enrol_courseid = row[0]

        # Inserindo o aluno e curso em mdl_user_enrolments
        query3 = "INSERT INTO mdl_user_enrolments (status,enrolid,userid,timestart,timeend,timecreated,timemodified) VALUES(0,%s,1,1)" % (
            self.enrol_courseid,self.userid)
        cursor.execute(query3)
        mariadb_connection.commit()

        # Pegando contex_id do curso e aluno
        query4 = "SELECT id FROM mdl_context WHERE instanceid=%s AND contextlevel=50" % (self.rowidcourse)
        cursor.execute(query4)
        linhas = cursor.fetchall()
        for row in linhas:
            self.contexid = row[0]
        # Inserindo aluno no curso
        query5 = "INSERT INTO mdl_role_assignments (roleid,contextid,timemodified) VALUES (5,2000)" \
                 % (self.contexid,self.userid)
        cursor.execute(query5)
        mariadb_connection.commit()
        closedb()
        tkinter.messageBox.showinfo("Muito bem!","Aluno cadasTrado com sucesso.",parent=self.register1)

解析器:

type User {
    id: ID!
    username: String!
},type Mutation {

    updateUser(
        id: ID!
        username: String!
    ):User
}

错误摘要

async updateUser(_,args) {
        const filter = {id: args.id}
        const update = {$set:{username: args.username}}
        return await User.findOneAndUpdate(filter,update,{new: true})
    },

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)