MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Słownik Pythona:usuwanie u' chars

Niektóre bazy danych, takie jak Sqlite3, umożliwiają zdefiniowanie funkcji konwertera i adaptera, dzięki czemu można pobierać tekst jako str zamiast unicode . Niestety MongoDB nie zapewnia tej opcji dla żadnego z powszechnie potrzebnych typów, takich jak str, dziesiętny lub 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

Po wyeliminowaniu opcji Mongo pozostaje pisanie kodu w Pythonie, aby wykonać konwersję po pobraniu danych. Możesz napisać funkcję rekurencyjną, która przemierza wynik, aby przekonwertować każde pole.

Jako szybką i brudną alternatywę, oto mały hack, który może się przydać:

>>> import json, ast
>>> r = {u'name': u'A', u'primary_key': 1}
>>> ast.literal_eval(json.dumps(r))
{'name': 'A', 'primary_key': 1}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wiele wyrażeń $elemMatch do dopasowywania wartości tablicy przy użyciu $all w MongoDB?

  2. Napraw „$pullAll wymaga argumentu tablicowego, ale otrzymał podwójną” w MongoDB

  3. Pobierz n-ty element tablicy w MongoDB

  4. Znajdź największy rozmiar dokumentu w MongoDB

  5. Mongoose find(), jak uzyskać dostęp do dokumentów wynikowych?