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

Hiểu những thay đổi trong trình điều khiển C # mới của MongoDB (Async và Await)

Sẽ rất hữu ích nếu bạn hiểu những điều cơ bản về async / await bởi vì nó là một bản tóm tắt hơi bị rò rỉ và có một số cạm bẫy.

Về cơ bản, bạn có hai lựa chọn:

  • Vẫn đồng bộ. Trong trường hợp này, an toàn khi sử dụng .Result.Wait() trên các lệnh gọi không đồng bộ, ví dụ:một cái gì đó giống như

    // Insert:
    collection.InsertOneAsync(user).Wait();
    
    // FindAll:
    var first = collection.Find(p => true).ToListAsync().Result.FirstOrDefault();
    
  • Đi không đồng bộ trong cơ sở mã của bạn. Thật không may, việc làm nó không đồng bộ là khá 'lây nhiễm', vì vậy hoặc bạn có thể chuyển đổi khá nhiều mọi thứ sang không đồng bộ hoặc không. Hãy cẩn thận, kết hợp đồng bộ hóa và không đồng bộ không chính xác sẽ dẫn đến tắc nghẽn . Sử dụng async có một số lợi thế, vì mã của bạn có thể tiếp tục chạy trong khi MongoDB vẫn hoạt động, ví dụ:

    // FindAll:
    var task = collection.Find(p => true).ToListAsync();
    // ...do something else that takes time, be it CPU or I/O bound
    // in parallel to the running request. If there's nothing else to 
    // do, you just freed up a thread that can be used to serve another 
    // customer...
    // once you need the results from mongo:
    var list = await task;
    


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Truy vấn MongoDB theo giá trị khi khóa mẹ không xác định

  2. insertMany Xử lý lỗi trùng lặp

  3. Tích hợp ClusterControl với SNMP - Bằng chứng về khái niệm:Phần thứ nhất

  4. Đăng dữ liệu biểu mẫu lên mảng tài liệu MongoDB hiện có bằng cách sử dụng Express và Mongoose

  5. Các lệnh gọi hàm đồng bộ cho trình điều khiển nodejs mongodb