Задать вопрос
Ответы пользователя по тегу MongoDB
  • Почему mongoDB не выполняет запрос снова?

    puzzlo
    @puzzlo Автор вопроса
    добродушен, толстоват
    // showTodaySimpleMessages.js 
    
    var   config = require('config')
        , mongo = require('mongodb').MongoClient;
    
    var showTodaySimpleMessages = function () {
    
        var arrayOfMessages = [];
        var now = new Date();
        var midnight = new Date(now.getFullYear(), now.getMonth(), now.getDate()).getTime().toString();
    
        mongo.connect(config.get('mongodb:uri') + config.get('mongodb:dbName'), function(err, db) {
            if (err) throw err;
            var col = db.collection(config.get('mongodb:history'));
            var mess = {};
            col.find({_id: {$gt: midnight}}).forEach(function (res) {
                if(res.priv.length == 0 && res.confirm.length == 0) {
                    mess = res.whoSend + ': ' + res.message;
                    arrayOfMessages.push(mess);
                };
                db.close();
            });
        });
        return arrayOfMessages;
    };
    module.exports = showTodaySimpleMessages();

    подключились, нашли те сообщения, которые написаны сегодня ( _id - время создания сообщения в миллисекундах ) . если не приватное и не для подтверждения - добавляем в массив. возвратили массив.
    на сервере все сообщения из массива послали emit-ом вошедшему человеку.
    Ответ написан
    Комментировать