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

Gọi lại khi hoạt động MongoDB với Node.js

Bạn đang gọi hàm gọi lại ngay lập tức, nhưng việc chuyển đến db sẽ mất thời gian và do đó được thực hiện không đồng bộ. Thay vào đó, hãy gọi lệnh gọi lại của bạn vào thời điểm thích hợp bằng cách sử dụng đối số kết quả của hàm được truyền làm tham số cuối cùng cho .findOne() hàm số. Lệnh gọi lại sẽ nhận được đối số lỗi và đối số kết quả:

login: function(user, pass, callback) {
    db.open(function (err, db) {
        if(!err) {
            db.collection("users", function(err, collection) {
                collection.findOne(
                    {
                        "username": user,
                        "password": pass
                    },
                    function(err, item) {
                        if(!err) {
                            callback(null,item);
                        } else {
                            callback("error");
                        }
                    }
                );
            });
        } else {
            callback("error",null);
        }
    });
}


user.login("test", "test", function(err,msg) {
    if( err ) {
      //error occured above;
    } else {
      //success
      console.log(msg);
    }
});

điều này chỉ là kéo cùng một mẫu thông qua trình điều khiển mongodb đang sử dụng. việc này sẽ giúp ích cho bạn.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Các trường $ addField lồng nhau trong MongoDB

  2. Có hỗ trợ trình điều khiển mongodb C # System.Dynamic.DynamicObject trong .NET 4 không?

  3. Tham chiếu so với nhúng trong MongoDB

  4. Mongodb findOne () không trả về giá trị nodejs

  5. Sửa đổi thứ tự hiển thị các thuộc tính trong MongoDB