MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cho các truy vấn mongoose.js chạy đồng bộ

Nếu bạn đang sử dụng node.js thì bạn nên sử dụng https://github.com/caolan/async

khi bạn phải tìm nạp dữ liệu từ nhiều bộ sưu tập, bạn phải xâu chuỗi các truy vấn của mình nhiều lần.

Nó sẽ làm cho mã của bạn phức tạp và khó đọc và không có tính mô đun. Sử dụng async để tạo mô thức bằng cách sử dụng mongodb và node.js

Mã mẫu từ dự án của tôi:

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. Làm cách nào để xóa phần tử mảng trong mongodb?

  2. Cách sử dụng lại đúng cách kết nối với Mongodb trên ứng dụng và mô-đun NodeJs

  3. MongoDB .Net driver 2.0 Pull (loại bỏ phần tử)

  4. Chuyển đổi một chuỗi thành một số trong phép chiếu MongoDB

  5. MongoDB 4.2 Quản lý &Giám sát mà không cần Lockin của nhà cung cấp