MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Wykonywanie zapytań mongoose.js uruchamianych synchronicznie

Jeśli używasz node.js, powinieneś użyć https://github.com/caolan/async

kiedy musisz pobrać dane z wielu kolekcji, musisz wielokrotnie łączyć zapytania.

Sprawi, że Twój kod będzie złożony i trudny do odczytania, a także nie będzie modułowy. Użyj async, aby stworzyć modułowość za pomocą mongodb i node.js

Przykładowy kod z mojego projektu :

var async = require('async');

var createGlobalGroup = function(socket, data) {
    async.waterfall(
    [
    /**
     * this function is required to pass data recieved from client
     * @param  {Function} callback To pass data recieved from client
     */

    function(callback) {
        callback(null, socket, data);
    },
    /**
     * Step 1: Verify User
     */
    verifyUser,
    /**
     * Step 2: Check User Access Rights And Roles
     */
    checkUserAccessRightsAndRoles,
    /**
     * Step 3: Create Project
     */
    createNewGlobalGroup], function(err, result) {
        /**
         * function to be called when all functions in async array has been called
         */
        console.log('project created ....')
    });
}
verifyUser = function(socket, data, callback) {
//do your query
    /**
     * call next function in series
     * provide sufficient input to next function
     */
    callback(null, socket, data, {
        "isValidUser": true,
    });
}

checkUserAccessRightsAndRoles = function(socket, data, asyncObj, callback) {
    //do your query
    if(condition) {
        callback(null, socket, data, {
            roles: result,
            "isValidUser": asyncObj.isValidUser,
            "userId": asyncObj.userId,
        });
    } else {
    //no call back
    }
}

var createNewGlobalGroup = function(socket, data, asyncObj, callback) {
//wanna stop then no callback
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy można uzyskać pojedynczy wynik w sumie?

  2. Wybierz długość ciągu w mongodb

  3. Paginacja z MongoDB

  4. Napisz swojego pierwszego doradcę

  5. Integracja ClusterControl z SNMP:część druga