Friday 28 July 2017

How do I insert values only if they arent null or meet whatever condition I want with MongoDB + Express

For example, if "producerName" doesnt equal "Jimbo" or if "producerBGPhoto2" in null, how can I skip those from being inserted or if they dont meet the condition, they get a value of whatever I want. The only logical thing I can think of is, doing an if statement for each value, and then doing an insert for each, but there sounds like a better way.router.post('/producers/adding', auth, multipartyMiddleware, function(req, res) { var db = req.db; var producerName = req.body.name; var producerSlogan = req.body.slogan; var producerLocation = req.body.location; var producerOwner = req.body.owner; var producerWinemaker = req.body.winemaker; var producerWebsite = req.body.website; var producerCountry = req.body.country; var producerParentRegion = req.body.parentRegion; var producerSubregion = req.body.subregion; var producerBio = req.body.bio; var producerEstateAge = req.body.estate_age; var producerLatitude = req.body.latitude; var producerLongitude = req.body.longitude; var producerCoords = req.body.coords; var producerLogo = req.files['logo'].path.substring(6); var producerMap = req.files['map'].path.substring(6); var producerBGPhoto = req.files['bg_photo'].path.substring(6); var producerBGPhoto2 = req.files['bg_photo_2'].path.substring(6); var producerBGPhoto3 = req.files['bg_photo_3'].path.substring(6); var producerBGPhoto4 = req.files['bg_photo_4'].path.substring(6); var producerBGPhoto5 = req.files['bg_photo_5'].path.substring(6); var producerSlug = producerName.replace(/\s+/g, '-').toLowerCase(); var collection = db.collection('producers'); collection.insert({ "slug": producerSlug, "name": producerName, "slogan": producerSlogan, "location": producerLocation, "owner": producerOwner, "parent_region": producerParentRegion, "subregion": producerSubregion, "country": producerCountry, "winemaker": producerWinemaker, "website": producerWebsite, "bio": producerBio, "estate_age": producerEstateAge, "latitude": producerLatitude, "longitude": producerLongitude, "coords": producerCoords, "logo": producerLogo, "map": producerMap, "bg_photo": producerBGPhoto, "bg_photo_2": producerBGPhoto2, "bg_photo_3": producerBGPhoto3, "bg_photo_4": producerBGPhoto4, "bg_photo_5": producerBGPhoto5 }, function(err, doc) { if (err) { res.send("problem adding to db"); } else { res.redirect("../producerslist"); } }); });

Submitted July 28, 2017 at 07:00PM by InsertCoinPushStart

No comments:

Post a Comment