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

Jak uniknout @ v hesle v připojení pymongo?

Měli byste být schopni ukončit heslo pomocí urllib.quote() . I když byste měli heslo pouze citovat/escapovat a vyloučit username:;jinak : bude také escapováno do %3A .

Například:

import pymongo 
import urllib 

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

Výše uvedený fragment byl testován pro MongoDB v3.2.x, Python v2.7 a PyMongo v3.2.2.

Výše uvedený příklad předpokládá v řetězci připojení MongoDB URI:

  • Uživatel je vytvořen v admin databáze.
  • Hostitel mongod běžící na je 127.0.0.1 (localhost)
  • Port mongod přiřazeno je 27001

Pro Python 3.x můžete použít urllib.parse.quote() k nahrazení speciálních znaků v hesle pomocí %xx uniknout. Například:

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


  1. Jak používat Spring Boot s MongoDB

  2. Synchronizace stylu CouchDB a řešení konfliktů na Postgres s Hasura

  3. Django Celery Elastic Beanstalk dohlížel na žádnou takovou chybu procesu

  4. MongoDB $add