Monday 31 March 2014

how to get the specific record from nested array in mongoDB using nodeJS

db.collectionName.aggregate({"$unwind": "$nestedArrayColumnName"}, {"$match": {"columnWhereCond": arr[i]}}, {"$project": {"_id": 0, "columnToGet": 1}}, function(err2, rows) {
                for (var i = 0; i < rows.length; i++) {
                     var obj = rows[i];
                    for (var key in obj)
                    {
                        var attrName = key;
                        var attrValue = obj[key];
                        columnVal = attrValue['name'];
                    }
                }
});

Sunday 30 March 2014

get inserted objectId and find record w.r.t objectId in mongoDB using nodeJS

db.collectionName.insert(rows, function(err,docsInserted){
                    var pKey = new Array() 
                    for(var j=0; j<docsInserted.length; j++){
                       var objk = docsInserted[j];
                        for (var keys in objk)
                    {
                        var attrName = keys;
                        var attrValue = objk[keys];
                        if (attrName == "_id") {
                         pKey.push(attrValue);
                        }
                    }
                    }

db.collectionName.update({'_id': {"$in":pKey}}, {$set: {}},{multi:true}, function(err1, updated) {
                                if (err1 || !updated) {
                                    console.log("Not updated");
                                    console.log(err1);
                                } else {
                                    console.log("Updated");
                               }
});