sql >> Databasteknik >  >> NoSQL >> MongoDB

Python-ordbok:ta bort u' tecken

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}


  1. Hur man ställer in mongod.conf bind_ip med flera ip-adresser

  2. MongoDB $konvertera

  3. Om redis redan är en del av stacken, varför används Memcached fortfarande tillsammans med Redis?

  4. Hur utför jag en id-matrisfråga i Mongoose?