sql >> Databáze >  >> NoSQL >> MongoDB

PyMongo zvyšuje [errno 49] nemůže přiřadit požadovanou adresu po velkém počtu dotazů

Je to proto, že používáte PyMongo nesprávně. Pro každý dotaz vytváříte nového MongoClienta, což vyžaduje, abyste pro každý nový dotaz otevřeli nový soket. To maří sdružování připojení PyMongo a kromě toho, že je extrémně pomalé, to také znamená, že otevíráte a zavíráte sokety rychleji, než váš zásobník TCP stihne:příliš mnoho soketů necháváte ve stavu TIME_WAIT, takže vám nakonec dojdou porty.

Naštěstí je oprava jednoduchá. Vytvořte jednoho MongoClienta a používejte jej v:

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

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



  1. shoda pole mongodb

  2. Agregace Golang mongodb

  3. mangoose jedinečný:pravda, nefunguje

  4. MongoDB s daty CSV