sql >> Databasteknik >  >> NoSQL >> MongoDB

Det går inte att ansluta till MongoDB (MongoLabs) via C#-klienten

Om jag var tvungen att riskera en gissning är problemet troligen ett brandväggsproblem. Du bör kontrollera följande

  • nslookup av värden (ds048719.mlab.com) från C# Application Host
  • ping för värden (ds048719.mlab.com) från C# Application Host (kan misslyckas, beroende på mLabs inställningar)
  • Att din IP-adress är vitlistad
  • Testa anslutningen med Mongo Shell från samma värd där C#-applikationen körs. mLab har dokument här.
  • Testa anslutningen med ett rått telnet , t.ex. telnet ds048719.mlab.com 48719
  • Se till att du använder rätt authenticationDatabase (i ditt exempel specificeras detta av /db ), är detta vanligtvis admin men kan vara ditt databasnamn om du är på en delad instans.

Du kan hitta dokumenten om att ansluta till C#-drivrutinen i MongoDB C# Driver Docs. Det är viktigt att notera följande:

Databaskomponenten

Databaskomponenten är valfri och används för att indikera vilken databas som ska autentiseras mot. När databaskomponenten inte tillhandahålls används "admin"-databasen.

mongodb://host:27017/mydb

Ovan är databasen med namnet "mydb" där referenserna för applikationen lagras.

OBS:

Vissa drivrutiner använder databaskomponenten för att indikera vilken databas som ska arbeta med som standard. .NET-drivrutinen, medan den analyserar databaskomponenten, använder inte databaskomponenten för något annat än autentisering.

Slutligen skulle jag föreslå i framtiden att fördunkla värdnamnet och porten när du postar till SO. Även om säkerhet genom enbart dunkel är en dålig policy, lägger den verkligen till ett lager av försvar för din MongoDB-distribution.



  1. 2 sätt att få ett dokuments storlek i MongoDB

  2. Indexprefixkomprimering i MongoDB 3.0 WiredTiger

  3. MongoDB $setDifference

  4. Finns det något sätt att "snyggt" skriva ut MongoDB-skalutdata till en fil?