node.js - How to push a new document in mongodb but only if it does not exist? -


i have post being done uses code:

exports.addcontactpost = function(req, res, err) {     user.findbyidandupdate(req.signedcookies.userid, {                 $push: {friendrequest: req.body.friendrequest}             }, function(err) {                 if(err) {                     console.log(err);                     return console.log('error');                  } else {                                 console.log('postsuccess');                     res.json({response: true});                     }             }); }; 

how can take $push: line of code , state if id exists in array of friendrequest not push. trying use $exist: not work.

use $addtoset operator. ensures value added if not in array already.

basically:

exports.addcontactpost = function(req, res, err) {     user.findbyidandupdate(req.signedcookies.userid, {                 $addtoset: {friendrequest: req.body.friendrequest}             }, function(err) {                 if(err) {                     console.log(err);                     return console.log('error');                  } else {                                 console.log('postsuccess');                     res.json({response: true});                     }             }); }; 

Comments