MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB BasicDBObject vs. Dokument in Java

Basic DBobject ist nicht veraltet. Der einzige veraltete Teil im BasicDBobject ist DBPointer class und einige andere Methoden wie toString() and getId()

Dokument implementiert Map<String, Object> und es muss weniger Code geschrieben werden als beim Basis-DB-Objekt

DBObject Obwohl dies für neue Anwendungen nicht empfohlen wird, können diejenigen, die von der 2.x-Treiberserie aktualisieren, weiterhin die DBObject-Schnittstelle verwenden, um BSON-Dokumente darzustellen. DBObject ist Document darin ähnlich, dass es BSON-Werte als Object darstellt, aber es hat ein paar Mängel, die nicht überwunden werden konnten:

  1. Es ist eher eine Schnittstelle als eine Klasse, daher kann seine API nicht erweitert werden, ohne die Binärkompatibilität zu beeinträchtigen.

  2. Es implementiert nicht wirklich Map.

  3. Da es sich um eine Schnittstelle handelt, ist eine separate konkrete Klasse namens BasicDBObject erforderlich, die diese Schnittstelle implementiert

Bson Um all dies miteinander zu verbinden, enthält der Treiber eine kleine, aber leistungsstarke Schnittstelle namens Bson. Jede Klasse, die ein BSON-Dokument darstellt, ob im Treiber selbst enthalten oder von einem Drittanbieter, kann diese Schnittstelle implementieren und kann dann überall in der High-Level-API verwendet werden, wo ein BSON-Dokument erforderlich ist.