Vissa databaser som Sqlite3 låter dig definiera omvandlar- och adapterfunktioner så att du kan hämta text som str snarare än unicode . Tyvärr tillhandahåller MongoDB inte detta alternativ för någon av de vanliga typerna 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 att ha eliminerat Mongo-alternativ, lämnar det att skriva Python-kod för att göra konverteringen efter att data har hämtats. Du kan skriva en rekursiv funktion som går igenom resultatet för att konvertera varje fält.
Som ett snabbt och smutsigt alternativ, här är ett litet hack som kan vara till nytta:
>>> import json, ast
>>> r = {u'name': u'A', u'primary_key': 1}
>>> ast.literal_eval(json.dumps(r))
{'name': 'A', 'primary_key': 1}