i have function in node project supposed update or create new entry based on whether slug matches. updates response being returned correct won't insert new item , i'm not sure i've missed.
mongodb version 3.0.4 (installed via homebrew) mac osx yosemite mongodb node package 2.0.39 monk 1.0.1
collection.findandmodify({ "query": { "slug": pluginslug }, "update": { "slug" : pluginslug, "name" : response.data.name, "current_version" : response.data.version, "description" : response.data.short_description, "change_log" : response.data.sections.changelog, "updated" : response.data.last_updated, "tested" : response.data.tested }, "upsert" :true, "new" : true }, function (err, doc) { if (err) { res.send("there problem adding information database."); } else { console.log(doc) res.redirect("plugins/new"); } }); am missing obvious here?
i've found correct answer here: issue simple mongo/monk findandmodify query
the solution provide options own object (it not documented monk docs):
db.test.findandmodify( { "query": { "slug": "1234512345" }, "update": { "$set": { "slug" : "1234512345", "name" : "response.data.name", "current_version" : "response.data.version", "description" : "response.data.short_description", "change_log" : "response.data.sections.changelog", "updated" : "response.data.last_updated", "tested" : "response.data.teste" } } }, { "upsert" :true, "new" : true }, function (err, doc) { if (err) { console.log(err); } else { console.log(doc); } });
Comments
Post a Comment