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

Cách nhận cuộc gọi lại trên MongoDB collection.find ()

Đó là cú pháp gọi lại chính xác, nhưng find cung cấp cho cuộc gọi lại là một Cursor , không phải là một mảng tài liệu. Vì vậy, nếu bạn muốn lệnh gọi lại của mình cung cấp kết quả dưới dạng một mảng tài liệu, hãy gọi toArray trên con trỏ để trả về chúng:

collection.find({'_id':o_id}, function(err, cursor){
    cursor.toArray(callback);
    db.close();
});

Lưu ý rằng lệnh gọi lại hàm của bạn vẫn cần cung cấp err để người gọi biết truy vấn có hoạt động hay không.

Cập nhật trình điều khiển 2.x

find bây giờ trả về con trỏ thay vì cung cấp nó thông qua một lệnh gọi lại, do đó, cách sử dụng thông thường có thể được đơn giản hóa thành:

collection.find({'_id': o_id}).toArray(function(err, results) {...});

Hoặc trong trường hợp mong đợi một tài liệu duy nhất, thì đơn giản hơn là sử dụng findOne :

collection.findOne({'_id': o_id}, function(err, result) {...});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bảo mật Pre-Emptive với Ghi nhật ký Kiểm tra cho MongoDB

  2. MongoDB Shards và tải tổng hợp không cân bằng

  3. Nối các giá trị chuỗi trong mảng trong một trường duy nhất trong MongoDB

  4. Định cấu hình ghi nhật ký cho trình điều khiển Java MongoDB

  5. Truy vấn Mongodb Để chọn các bản ghi có một khóa nhất định