Nogle databaser såsom Sqlite3 lader dig definere konverter- og adapterfunktioner, så du kan hente tekst som str i stedet for unicode . Desværre giver MongoDB ikke denne mulighed for nogen af de almindeligt nødvendige typer såsom str, decimal eller datetime:
- http://api.mongodb.org/python/current/tutorial.html#a-note-on-unicode-strings
- http://api.mongodb.org/python/current/faq.html#how-can-i-store-decimal-decimal-instances
- http://api.mongodb.org/python/current/faq.html#how-can-i-save-a-datetime-date-instance
Efter at have elimineret Mongo-indstillinger, efterlader det at skrive Python-kode for at udføre konverteringen, efter at dataene er hentet. Du kan skrive en rekursiv funktion, der krydser resultatet for at konvertere hvert felt.
Som et hurtigt og beskidt alternativ er her et lille hack, der kan være nyttigt:
>>> import json, ast
>>> r = {u'name': u'A', u'primary_key': 1}
>>> ast.literal_eval(json.dumps(r))
{'name': 'A', 'primary_key': 1}