How exactly do you figure it's calling Model.update? Because of the stack trace? I think mongoose calls model.update internally, perhaps? I just tested, when updating a document without a callback (i.e. I replicated his call) the stack includes a call to model.update. I'm pretty sure he is calling document.update, and the error is because he has too many arguments.
On Saturday, December 20, 2014 9:40:38 PM UTC-5, Ryan Graham wrote: > > On Fri, Dec 19, 2014 at 10:46 AM, Zach Rollyson <[email protected] > <javascript:>> wrote: > >> Comes from the line "menu.update({name:request.body.name}, menuObject, >> {upsert: true}, onUpdate)" >> >> It's because mongoose update takes three arguments: document, options, >> callback. You have object, object, options, callback; thus mongoose thinks >> your options object is the callback. >> > > > I nearly replied with a similar response, but then I realized the code is > actually calling Model#update > <http://mongoosejs.com/docs/api.html#model_Model.update>, not > Document#update > <http://mongoosejs.com/docs/api.html#document_Document-update>. The > former actually does take 4 arguments and from a cursory look it seems the > calling code is using it more or less correctly. > > That said, I agree that changing this to Document#update is probably still > the correct solution. > > ~Ryan > -- > http://twitter.com/rmgraham > -- Job board: http://jobs.nodejs.org/ New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/b66f71da-f526-4b24-a017-14a216b5e6ec%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
