sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur undkommer man @ i ett lösenord i pymongo-anslutning?

Du bör kunna undkomma lösenordet med urllib.quote() . Även om du bara bör citera/escape lösenordet och utesluta username:;annars är : kommer också att escapes till %3A .

Till exempel:

import pymongo 
import urllib 

mongo_uri = "mongodb://username:" + urllib.quote("[email protected]") + "@127.0.0.1:27001/"
client = pymongo.MongoClient(mongo_uri)

Ovanstående kodavsnitt testades för MongoDB v3.2.x, Python v2.7 och PyMongo v3.2.2.

Exemplet ovan antaget i MongoDB URI-anslutningssträngen:

  • Användaren skapas i admin databas.
  • Värden mongod körs på är 127.0.0.1 (localhost)
  • Porten mongod tilldelad till är 27001

För Python 3.x kan du använda urllib.parse.quote() för att ersätta specialtecken i ditt lösenord med %xx fly. Till exempel:

url.parse.quote("[email protected]")


  1. Varför lua script block redis-server?

  2. NoSQL-trender – MongoDB, Cassandra, CouchDB &Riak

  3. Installera Apache CouchDB på Debian 9

  4. Implementera paginering med MongoDB, Express.js &Slush