MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Търсете в цялата колекция (mongodb) с помощта на nodejs

Силно бих написал по-чисто, примерът по-долу използва async.parallel , Обещание и Mongoose.Query

function list(req) {

    // promise or callback works as well
    return new Promise(function(resolve, reject){

        // npm install async --save
        var async = require('async'); 

        // some validation can be applied
        var page = {
            skip: req.query.start || 1,
            limit: req.query.length || 25,
            text: req.query.search || ''      // <== this is new property!
        };

        // reuse Mongoose.Query with search by regex
        var Query = Models.SaleModel.find({
            product_name: new RegExp(page.text, "i")
        });

        // run without waiting until the previous function has completed
        async.parallel([
            function(){
                Query.count(callback); // <== count
            },
            function(){
                Query.skip(page.skip).limit(page.limit).exec('find', callback); // <== items
                // or the below one should also work, just don't remember
                // Query.skip(page.skip).limit(page.limit).exec(callback);
            }
        ]), function(err, results){
            if(err){
                reject(err);
            } else {
                resolve({
                    count: results[0],
                    data: results[1]
                });
            }
        });
    });
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Защо и кога е необходимо повторно изграждане на индекси в MongoDB?

  2. изберете само поддокументи или масиви

  3. Конфигурация на Rails, Mongoid и Unicorn за Heroku

  4. Как трябва да се моделира следната връзка много към много в MongoDB?

  5. MongoDB Показване на детски елементи във връзка Едно към много