docs.forEach(function (chartSet) {
              if (ObjectId(chartSet._id).toHexString() ===
                ObjectId(newChartSet._id).toHexString()) {

                found = true;
              }
            });
Example #2
0
  .get((req, res, next) => {
    let storeId
    let query

    if (req.params.storeId && validator.isMongoId('' + req.params.storeId)) {
      storeId = req.params.storeId
    } else {
      return res.json({
        success: false,
        messsage: 'Wrong store\'s Id provided.'
      })
    }
    if (isAdmin(req.user)) {
      query = { _id: ObjectId(storeId) }
    } else {
      query = {
        $and:
          [ { _id: ObjectId(storeId) },
            { _id: { $in: req.user.stores } } ]
      }
    }
    db.collection('stores').find(query)
    .limit(1).next((err, store) => {
      if (err) {
        return next(err)
      }
      return res.json(store || [])
    })
  })
Example #3
0
 mongo.connect(dbURI, function(err, db) {
     if (err) throw err
     db.collection('polls').update({"_id": ObjectId(poll_id), "answers._id": ObjectId(answer_id)}, {
         $inc: { "answers.$.hits" : 1}
     });
     req.session.user.hasVoted[poll_id] = true;
     res.redirect('/polls/' + poll_id);
 });
Example #4
0
test(function( t ){
	t.ok(o2d('5750268e0ddf67495e000007') instanceof Date);

	t.equal(o2d('5750268e0ddf67495e000007').getTime(), 1464870542000);

	t.ok(o2d(ObjectId('5750268e0ddf67495e000007')) instanceof Date);

	t.equal(o2d(ObjectId('5750268e0ddf67495e000007')).getTime(), 1464870542000);

	t.end();
});
Example #5
0
 images.find({"_id": ObjectId(req.body.id)}).toArray(function (err, docs) {
     docs[0].likedby.forEach(function (element) {
         
         // if user already liked image, unlike it
         if (element == req.user.twitterid) {
             images.update({"_id": ObjectId(req.body.id)}, {$pull: {likedby: req.user.twitterid}});
             numlikes = "" + eval(docs[0].likedby.length-1) + "";
             res.send(numlikes);
             return;
         } 
         
         // otherwise like the image, assuming list length isn't 0
         if (element == docs[0].likedby[docs[0].likedby.length-1]) {
             images.update({"_id": ObjectId(req.body.id)}, {$push: {likedby: req.user.twitterid}});
             numlikes = "" + eval(docs[0].likedby.length+1) + "";
             res.send(numlikes);
             return;
         }
     });
     
     // like image if nobody likes it, couldn't have previously liked it
     if (docs[0].likedby.length === 0) {
         images.update({"_id": ObjectId(req.body.id)}, {$push: {likedby: req.user.twitterid}});
         numlikes = "" + eval(docs[0].likedby.length+1) + "";
         res.send(numlikes);
         return;
     }
 });
Example #6
0
 filterCategory: function (data, callback) {
   var matchObj = {
     "sportslist._id": objectid(data.sportList)
   };
   // console.log(matchObj);
   Sport.aggregate([{
     $match: matchObj
   }, {
     $group: {
       _id: null,
       firstcategory: {
         $addToSet: {
           _id: '$firstcategory._id',
           name: '$firstcategory.name'
         }
       }
     }
   }]).exec(function (err, data2) {
     // console.log(data2);
     if (err) {
       console.log(err);
       callback(err, null);
     } else if (data2 && data2.length > 0) {
       callback(null, data2);
     } else {
       callback({}, null);
     }
   });
 },
Example #7
0
	MongoClient.connect(url, function(err, db) {

		if (err) {
			res.status(500);
		} else {

			console.log('Trying to get one user');

			var customersCollection = db.collection('customers');

			customersCollection.findOne({'_id' : ObjectId(req.params.id)}, function(err, data) {

				if (data === null || data === undefined) {
					res.status(404);
					//NOT FOUND
					res.send({'msg' : 'Customer not found'});
					db.close();
					return; //gå ud af function(err,data) metoden
				}
						          
		       	res.send(data);
		        db.close();
	        });
        }
	});
Example #8
0
        db.collection('users').find({"username": username}).toArray(function (err, result) {
            if (err) {
                throw err;
            }
            console.log(result);
            // Convert results to objectid array
            var myArray = [];
            var myQuantity = [];
            for(var i=0; i<result[0].items_In_Cart.length; i++) {
                myArray.push(ObjectId(result[0].items_In_Cart[i].itemID));
                myQuantity.push(Number(result[0].items_In_Cart[i].quantity));
            }

            // Find items
            db.collection('items').find({_id: { $in: myArray}}).toArray(function (err2, resultItems) {
                if (err2) {
                    throw err2;
                }
                console.log("Result: " + resultItems);
                res.render('checkout', {
                    title: 'Express',
                    page : 'Checkout Cart',
                    items: resultItems,
                    user: result[0],
                    quantityList: myQuantity
                });
            });
        });
Example #9
0
 peers.find().each((err, doc) => {
     if (doc) {
         if (doc.signout > doc.signin && now - doc.signout > config.peerttl) {
             peers.deleteOne({_id: oid(doc._id)});
         }
     }
 });
Example #10
0
        .then(db=> {
            var myPlaces = db.collection(Tables.MY_PLACES_2);
            var myEvents = db.collection(Tables.MY_EVENTS);
            return myPlaces.findOne({_id: ObjectId(id_place)}).then(my_place=> {
                var time_query = {start_time: {$gte: start_time.getTime()}};
                if (end_time) {
                    time_query.end_time = {$lte: end_time.getTime()};
                }

                return myEvents.find(
                    {
                        $and: [
                            time_query,
                            {
                                $or: [
                                    {"owner.id": {$in: my_place.id_facebook}}
                                    , {"place.id": {$in: my_place.id_facebook}}
                                ]
                            }
                        ]
                    }
                ).limit(limit).sort({start_time:1}).toArray()
                    .then(my_events=> {
                        return [[my_place], my_events]
                    })
            })

        })
Example #11
0
 poll_votes.count( { poll_id: mongo.ObjectId(poll_id) }, function(error, count) {
   poll['vote_count'] = count;
   poll_votes.count( { poll_id: mongo.ObjectId(poll_id), vote_choice: 1 }, function(error, count) {
     poll['yes_count'] = count;
     poll_votes.count( { poll_id: mongo.ObjectId(poll_id), vote_choice: 2 }, function(error, count) {
       poll['no_count'] = count;
       poll_votes.col.aggregate(
         [
           { "$match": {
             "poll_id": mongo.ObjectId(poll_id)
           }},
           { "$group": {
             "_id": null, 
             "average": { $avg: "$agree_prediction" }
           }}
         ] 
         , function(err, data) {
           poll['prediction_average'] = data[0]['average'];
           poll['yes_percentage'] = poll['yes_count'] / poll['vote_count'];
           poll['no_percentage'] = poll['no_count'] / poll['vote_count'];
           res.render('result', poll);
         }
       )
     });
   });
 });
Example #12
0
 MongoClient.connect(dbConnection, function(err, db) {
   db.collection('patients')
     .update({_id : ObjectId(patientID), practitioner: practitioner}, {
          $push: { notes: note },
          $set: {needsNotes : false}
     })
 })
Example #13
0
app.delete('/api/dbs/:dbName/collections/:collectionName/:id', function(req, res) {
  if (req.body._id && req.body._id != req.params.id) return res.status(400).json({error: 'ID in the body is not matching ID in the URL'})
  delete req.body._id
  req.collection.remove({ _id: mongoDb.ObjectId(req.params.id)}, function(e, results) {
    res.json(results)
  })
})
Example #14
0
 return leagueCollection().then((leagues) => {
     return leagues.findOne({ "_id": ObjectId(leagueId) }).then((league) => {
         return league;
     }, (error) => {
         throw error;
     });
 }, (error) => {
Example #15
0
 .delete('/', isLoggedIn, function (req, res, next) {
     if(req.body.id) {
         var userid = req.body.id;
         if(userid !== configDB.MainGlobalAdminId) {
             DBService.removeDocument({_id: mongodb.ObjectId(userid)}, 'users', function(err, users) {
                 if(err) {
                     err = "Error deleting user with id " + userid;
                     logger.databaseError().info("Error deleting user with id " + userid + ' - Error: ' + err);
                     res.json({
                         success: false,
                         message: 'No id in request. Please supply an id to delete user.'
                     });
                 } else {
                     res.json({
                         success: true,
                         message: 'User deleted!'
                     });
                 } 
             });
         } else {
             res.json({
                 success: false,
                 message: 'You think you can delete the main global admin. Think again boy!'
             }); 
         } 
     } else {
         res.json({
             success: false,
             message: 'No id in request. Please supply an id to delete user.'
         });
     }
 })
Example #16
0
 MongoClient.connect(process.env.MONGODB_DSN, function(err, db) {
   if (err) {
     console.error('Error connecting to Aliro database', err);
     return callback(500);
   }
   else {
     console.log('Successfully connected to Aliro database...');
     db.collection('Job').findOne({_id: ObjectId(jobId)}
       , {title: 1, jobFunction: 1, requiredSkills: 1, desiredSkills: 1}
       , function(err, jobDetails) {
         db.close();
         if (err) {
           console.error('Error getting job details', err);
           return callback(500);
         }
         else if (!jobDetails) {
           console.error('No job details found for provided job ID');
           return callback(404);
         }
         else {
           return callback(null, jobDetails);
         }
     });
   }
 });
Example #17
0
	async record_access(user, authentication_token_id, ip)
	{
		const now = round_user_access_time(new Date())

		// update user's online status
		let previous_time = await online_status_store.get_and_set(user.id, new Date())

		if (previous_time)
		{
			previous_time = round_user_access_time(previous_time)
		}

		// if enough time has passed to update this user's latest activity time,
		// then update it
		if (!previous_time || now.getTime() > previous_time.getTime())
		{
			await this.user_authentications.updateOneAsync
			({
				_id: ObjectId(user.id)
			},
			{
				$set:
				{
					// redundant field for faster latest activity time querying
					latest_activity_time: now,

					[`authentication_tokens.${authentication_token_id}`]: { ip, time: now }
				}
			})
		}
	}
Example #18
0
 function ObjectId (actual, key, parent) {
   if (!actual || !validator.isMongoId(actual.toString())) {
     return false
   }
   parent[key] = toObjectId(actual)
   return true
 }
Example #19
0
 return database.connect().then(function (db) {
   return db.collection('inbox')
     .update({"_id": mongodb.ObjectId(bodyInfo._id)},{$set:{'unread':0}})
     .then(function(){
       res.status(200).end();
     });
 });
Example #20
0
router.get('/tasks/load', function(req, resp, next) {
    var query = req.query;
    var body = req.body;
    var task_id = query.task_id;

    task_store.findOne({

            _id: mongodb.ObjectId(task_id)

        },
        function(err, doc) {

            if (doc) {
                resp.json({
                    err: 0,
                    data: wrap_task(doc)
                });
            } else if (!doc) {
                next(new Error('tasks not found'));
            } else {
                next();
            }

        });

});
Example #21
0
 var items = products.map(function(p, index) {
     return {
         product_id: mongodb.ObjectId(p.id),
         price: docs[index].price,
         amount: Number(p['number'])
     };
 });
Example #22
0
router.post('/polls/create', urlencodedParser, function(req, res){
    var body = req.body;
    var answers = [];
    var possibilities = body.answers.split(',');
    for(i in possibilities){
        answers.push({
            _id: ObjectId(),
            label: possibilities[i],
            hits: 0
        });
    }
    var poll = {
        title: body.title,
        question: body.question,
        answers: answers,
        user_id: req.session.user.id
    };
    
    
    // connexion to mongo
    mongo.connect(dbURI, function(err, db) {
        if (err) throw err
        db.collection('polls').insertOne(poll, function(err, result){
            if(err) throw err;
            console.log(result);
            res.redirect('/');
        });
    });
});
Example #23
0
  return dbClient.connect().then(function (db) {

    return db
      .collection(COLLECTION)
      .find({ "_id": ObjectId(id) })
      .limit(1)
      .toArray()
      .then(function (docs) {
        if (!docs.length) {
          return Promise.reject({
            status: 404
          });
        }

        let promiseQueue = [];

        docs[0].charts.forEach(function (chartId, index) {
          promiseQueue.push(chart.get(chartId));
        });

        return Promise.all(promiseQueue)
          .then(function (result) {
            docs[0].charts = [];

            result.forEach(function (chart) {
              docs[0].charts.push(chart[0]);
            });

            return docs[0];
          });
      });
  });
Example #24
0
exports.readImage = function(id, callback) {

    var col = db.collection("images");
    col.findOne({
        _id: mongodb.ObjectId(id)
    }, callback);
};
Example #25
0
	find (id) {
		var _id = ObjectId(id);
		return this.db.collection(collection)
									.find({_id:_id})
									.limit(1)
									.next();
	}
Example #26
0
var getObjectId = function(id) {
    if (typeof id == 'string') {
        return mongodb.ObjectId(id);
    } else {
        return id;
    }
};
Example #27
0
  getStudentBio: function (data, callback) {
    StudentSport.aggregate([{
      $match: {
        student: objectid(data.student),
        year: data.year
      }
    }, {
      $group: {
        _id: "$sportslist._id",
        sports: {
          $addToSet: {
            year: "$year",
            sportslist: "$sportslist",
            agegroup: "$agegroup",
            firstcategory: "$firstcategory",
            secondcategory: "$secondcategory",
            thirdcategory: "$thirdcategory",
            medals: "$medals",
            school: "$school",
            student: "$student",
          }
        }
      }
    }, {
      $project: {
        "_id": 0,
        "sport": "$_id",
        sports: 1

      }
    }]).exec(function (err, data) {
      if (err) {
        callback(err, null);
      } else {
        SportsList.populate(data, {
          path: "sport"
        }, function (err, response) {
          if (err) {
            callback(err, null);
          } else {
            if (response.length > 0) {
              var sp = [];
              var newob = {};
              _.each(response, function (key) {
                newob = {};
                newob = _.clone(key.sport.toObject());
                newob.sports = _.clone(key.sports);
                sp.push(newob);
              });
              callback(null, sp);

            } else {
              callback([], null);

            }
          }
        });
      }
    });
  },
Example #28
0
 function (callback) {
   StudentSport.aggregate([{
     $match: {
       'school._id': objectid(data.school),
       year: data.year
     }
   }, {
     $group: {
       _id: '$student'
     }
   }]).exec(function (err, data) {
     if (err) {
       callback(err, null);
     } else {
       newreturns.total = data.length;
       newreturns.totalpages = Math.ceil(data.length / 8);
       callback(null, data);
     }
   });
   // Student.count(checkObj).exec(function(err, number) {
   //   if (err) {
   //     console.log(err);
   //     callback(err, null);
   //   } else if (number && number !== "") {
   //     newreturns.total = number;
   //     newreturns.totalpages = Math.ceil(number / 8);
   //     callback(null, newreturns);
   //   } else {
   //     callback(null, newreturns);
   //   }
   // });
 },
Example #29
0
function Therapist(userId, obj){
  this._id           = Mongo.ObjectID(obj._id) || Mongo.ObjectId();
  this.userId        = Mongo.ObjectID(userId);
  this.name          = obj.name;
  this.discipline    = obj.discipline;
  this.productivity  = obj.productivity * 1 || null;
  this.isTherapist   = (obj.isTherapist ? true : false);
  this.isFullTime    = (obj.isFullTime ? true : false);
  this.photo         = '/assets/img/default.jpg';
  this.lateEvals     = obj.lateEvals || {
                                          mon : false,
                                          tue : false,
                                          wed : false,
                                          thu : false,
                                          fri : false
                                        };
  if(obj.lateEvals){
    this.lateEvals     = {
      mon : obj.lateEvals.mon || false,
      tue : obj.lateEvals.tue || false,
      wed : obj.lateEvals.wed || false,
      thu : obj.lateEvals.thu || false,
      fri : obj.lateEvals.fri || false
    };
  }

  this.schedule      = obj.schedule || {};
}
Example #30
0
    MongoClient.connect(url, function(err, db){
        //Error in DB; return 500
        if(err){
            res.status(500);
            res.json({
                'error':'Internal database error'
            });
			}
            
         else{            var col = db.collection('movies');
            col.findOne({'_id' : ObjectId(req.params.id)}, function(err, result){ //prob

                if(err){
                    res.status(500);
                    res.json({
                        'error': 'Internal database error'
                    })
                }else if (result !== null){
                    res.status(200);
                    res.json(result);
                } else {
                    res.status(404)
                    res.json({
                        "msg" : "empty"
                    })
                }

                db.close();
            });
        }
    });