Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.0k views
in Technique[技术] by (71.8m points)

mongoose - MongooseError: Callback must be a function, got [object Object]

 if (reaction.emoji.name === '?') {
     if (user.id == persToProp) {
         await Reply.delete()

         var date = new Date();
         var today = date.getDate();

         await mongo().then( async (mongoose) => { //line 76
             try {
                 await marriageListSchema.findOneAndUpdate( //line 78
                 {
                     _id: message.author.id,
                 },
                 {
                     partener: persToProp,
                 },
                 {
                     marriageDate: today,
                 },
                 {
                     upsert: true,
                 }).exec();
             } finally {
                 mongoose.connection.close()
             }
         }).catch( err => {
             console.log(err);
         });

I get this error and I don't understand why

MongooseError: Callback must be a function, got [object Object] at Function.Model.$handleCallbackError (A:DiscordBot ode_modulesmongooselibmodel.js:4857:11) at Function.Model.findOneAndUpdate (A:DiscordBot ode_modulesmongooselibmodel.js:2464:19) at A:DiscordBotcommandspropose.js:78:58 at processTicksAndRejections (internal/process/task_queues.js:93:5) at async Client. (A:DiscordBotcommandspropose.js:76:25)

question from:https://stackoverflow.com/questions/65880761/mongooseerror-callback-must-be-a-function-got-object-object

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Its a syntax error. You literally passed an object instead of a function as the error says! This is maybe what you want?

await marriageListSchema.findOneAndUpdate(
{
    _id: message.author.id,
},
{
    partener: persToProp,
    marriageDate: today,
},
{
    upsert: true,
}).exec();

You might want to take a look at the docs: https://mongoosejs.com/docs/tutorials/findoneandupdate.html


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...