Basic DBobject är inte föråldrat. Den enda utfasade delen i BasicDBobject är DBPointer
klass och några andra metoder som toString() and getId()
Dokument implementerar Map<String, Object>
och det finns mindre kod att skriva jämfört med Basic DB-objekt
DBObject Även om det inte rekommenderas för nya applikationer, kan de som uppgraderar från 2.x-drivrutinserien fortsätta att använda DBObject-gränssnittet för att representera BSON-dokument. DBObject liknar Document genom att det representerar BSON-värden som Object, men det har några brister som var omöjliga att övervinna:
-
det är ett gränssnitt snarare än en klass, så dess API kan inte utökas utan att bryta binär kompatibilitet.
-
Den implementerar faktiskt inte Map.
-
Eftersom det är ett gränssnitt krävs en separat betongklass kallad BasicDBObject som implementerar det gränssnittet
Bson För att knyta ihop dessa innehåller drivrutinen ett litet men kraftfullt gränssnitt som heter Bson. Alla klasser som representerar ett BSON-dokument, oavsett om det ingår i själva drivrutinen eller från en tredje part, kan implementera detta gränssnitt och kan sedan användas var som helst i högnivå-API:t där ett BSON-dokument krävs.