sql >> Database >  >> NoSQL >> MongoDB

Hoe te ontsnappen aan @ in een wachtwoord in pymongo-verbinding?

U zou het wachtwoord moeten kunnen escapen met urllib.quote() . Hoewel je alleen het wachtwoord moet quoten/escapen, en de username:;anders de : wordt ook geëscaped naar %3A .

Bijvoorbeeld:

import pymongo 
import urllib 

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

Het bovenstaande fragment is getest voor MongoDB v3.2.x, Python v2.7 en PyMongo v3.2.2.

Het bovenstaande voorbeeld aangenomen in de MongoDB URI-verbindingsreeks:

  • De gebruiker wordt aangemaakt in de admin databank.
  • De gastheer mongod draait op 127.0.0.1 (localhost)
  • De poort mongod toegewezen aan is 27001

Voor Python 3.x kunt u urllib.parse.quote() gebruiken om speciale tekens in uw wachtwoord te vervangen met behulp van de %xx ontsnappen. Bijvoorbeeld:

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


  1. Hoe kan ik een unieke id met twee kolommen toevoegen aan de mongodb in een meteor-app?

  2. Koppelen en maken van MongoDB-joins met SQL:deel 1

  3. Hoe kan ik de MongoDB native Javascript-driver beloven met bluebird?

  4. MongoDB-aggregatie-operators voor het retourneren van datumonderdelen