Ich fange gerade mit MongoDB an und eines der Dinge, die mir aufgefallen sind, ist, dass es BSON verwendet , um Daten intern zu speichern. Die Dokumentation ist jedoch nicht genau klar, was BSON ist und wie es in MongoDB verwendet wird. Kann mir das bitte jemand erklären?
158
Antworten:
BSON ist die binäre Codierung von JSON-ähnlichen Dokumenten, die MongoDB beim Speichern von Dokumenten in Sammlungen verwendet. Es bietet Unterstützung für Datentypen wie Datum und Binär, die in JSON nicht unterstützt werden.
In der Praxis müssen Sie bei der Arbeit mit MongoDB nicht viel über BSON wissen. Sie müssen nur die nativen Typen Ihrer Sprache und die bereitgestellten Typen (z. B. ObjectId) des Treibers verwenden, um Dokumente zu erstellen, und sie werden dem zugeordnet geeigneter BSON-Typ vom Fahrer.
quelle
Was ist BSON ?
Wie unterscheidet es sich von JSON ?
Quelle: http://bsonspec.org/
quelle
MongoDB repräsentiert JSON-Dokumente im binär codierten Format BSON hinter den Kulissen. BSON erweitert das JSON-Modell, um zusätzliche Datentypen bereitzustellen und das Codieren und Decodieren in verschiedenen Sprachen effizient zu gestalten.
quelle
MongoDB repräsentiert JSON-Dokumente im binär codierten Format, daher nennen wir es BSON hinter den Kulissen .
BSON erweitert das JSON-Modell um zusätzliche Datentypen wie Datum und Binär, die in JSON nicht unterstützt werden. Außerdem werden geordnete Felder bereitgestellt, damit es in verschiedenen Sprachen effizient codiert und decodiert werden kann.
Mit anderen Worten können wir sagen, dass BSON nur binäres JSON ist (eine Obermenge von JSON mit einigen weiteren Datentypen, vor allem binärem Byte-Array).
Mongodb, das als Serialisierungsformat von JSON verwendet wird, enthält ein Codierungsformat zum Speichern und Zugreifen auf Dokumente . Wir können einfach sagen, dass BSON ein binär codiertes Format für JSON-Daten ist.
Weitere Informationen zu mongoDB: https://om9x.com/blog/bson-vs-json/
quelle
Durch die Verwendung der BSON-Codierung über JSON erhält MongoDB die Möglichkeit, Indizes über Werten zu erstellen, die sich im JSON-Dokument im Rohformat befinden. Dies hilft bei der Ausführung effizienter analytischer Abfragen, da bekannt ist, dass das NoSQL-System keine Unterstützung für Indizes bietet.
quelle
Dieser relativ kurze Artikel bietet eine ziemlich gute Erklärung für BSON und JSON: Er spricht über einige Probleme mit JSON, warum BSON erfunden wurde, welche Probleme es im Vergleich zu JSON löst und wie es Ihnen zugute kommen könnte.
https://www.compose.com/articles/from-json-to-bson-and-back/
In meinem Anwendungsfall sagte mir dieser Artikel, dass die Serialisierung in JSON für mich funktionieren würde und ich nicht in BSON serialisieren musste
quelle