sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan undslipper man @ i en adgangskode i pymongo-forbindelse?

Du bør være i stand til at undslippe adgangskoden ved at bruge urllib.quote() . Selvom du kun bør citere/undgå adgangskoden og udelukke username:;ellers : vil også blive escaped til %3A .

For eksempel:

import pymongo 
import urllib 

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

Ovenstående kodestykke blev testet for MongoDB v3.2.x, Python v2.7 og PyMongo v3.2.2.

Eksemplet ovenfor antaget i MongoDB URI-forbindelsesstrengen:

  • Brugeren oprettes i admin database.
  • Værten mongod kører på er 127.0.0.1 (localhost)
  • Porten mongod tildelt til er 27001

For Python 3.x kan du bruge urllib.parse.quote() til at erstatte specialtegn i din adgangskode ved hjælp af %xx flugt. For eksempel:

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


  1. Hvad er navnekonventioner for MongoDB?

  2. Hvordan bruger man forårsdata mongo @CompoundIndex med undersamlinger?

  3. hvorfor Redis er enkeltgevind (hændelsesdrevet)

  4. Afkort en samling