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

MongoDb:Korzyści z używania ObjectID w porównaniu z ciągiem zawierającym identyfikator?

Największym powodem jest to, że ObjectIDs mają 12 bajtów, podczas gdy odpowiednik ma 24 bajty. W wystarczająco dużej kolekcji te 12 bajtów zapisanych na identyfikator naprawdę się sumuje! Te identyfikatory oznaczają również mniej bajtów przesyłanych przez przewód podczas czytania lub pisania dokumentu.

Ponadto niektórzy ODM oczekują identyfikatorów ObjectID dla odwołań do dokumentów zewnętrznych i mogą być mylone z ciągami wersji identyfikatora. Nie jestem jednak wystarczająco zaznajomiony z ODM PHP, aby powiedzieć, czy może to wpłynąć na ciebie konkretnie.

Jeśli chodzi o rzeczy związane z API, prawdopodobnie powinieneś i tak normalizować dane przed wysłaniem ich do klienta, ponieważ ponieważ Mongo nie wymusza schematu, możesz mieć dosłownie każdy rodzaj danych w danym polu, więc możesz masz dokumenty, które mają identyfikatory ciągów, a inne, które mają identyfikatory BSON, a Twój interfejs API z radością wyśle ​​je do klienta, ale jeden lub drugi może spowodować uszkodzenie. W tym konkretnym przypadku powinieneś używać BSON ObjectID w swoich dokumentach, a następnie rzutować je na ciągi w wyjściu API.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Schemat mongusty:„unikalny” nie jest szanowany

  2. Najlepsze praktyki dotyczące uruchamiania MongoDB w klastrze

  3. Utrzymywanie otwartego połączenia z bazą danych MongoDB

  4. Suma zagregowana MongoDB dla każdego klucza w poddokumencie

  5. MongoDB / Meteor / Eksportuj MONGO_URL do wdrożonych aplikacji