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

PyMongo tăng [errno 49] không thể chỉ định địa chỉ được yêu cầu sau một số lượng lớn truy vấn

Điều này là do bạn đang sử dụng PyMongo không đúng cách. Bạn đang tạo MongoClient mới cho mỗi truy vấn, điều này yêu cầu bạn mở một ổ cắm mới cho mỗi truy vấn mới. Điều này đánh bại tính năng tổng hợp kết nối của PyMongo và ngoài việc cực kỳ chậm, nó cũng có nghĩa là bạn mở và đóng các ổ cắm nhanh hơn mức ngăn xếp TCP của bạn có thể theo kịp:bạn để quá nhiều ổ cắm ở trạng thái TIME_WAIT nên cuối cùng bạn sẽ hết cổng.

May mắn thay, cách khắc phục rất đơn giản. Tạo một MongoClient và sử dụng nó trong suốt:

conn = pymongo.MongoClient('mongodb://localhost:27017')
coll = conn.databases['race_results']

def _perform_queries(query):
    return coll.find(query).sort("date", -1)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo shell thực hiện truy vấn từ tệp và hiển thị kết quả

  2. mongoose:chỉ trả lại các khóa từ một tài liệu

  3. Tại sao MongoDB không còn cho phép sử dụng $ set và $ unset với một tài liệu trống?

  4. MongoDB findOne ()

  5. Xem hơn 20 tài liệu gần đây nhất trong MongoDB Compass từ Schema