sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB BasicDBObject vs Document i java

Basic DBobject er ikke forældet. Den eneste forældede del i BasicDBobjectet er DBPointer klasse og få andre metoder som toString() and getId()

Dokument implementerer Map<String, Object> og der er mindre kode at skrive sammenlignet med Basic DB-objekt

DBObject Selvom det ikke anbefales til nye applikationer, kan de, der opgraderer fra 2.x-driverserien, fortsætte med at bruge DBObject-grænsefladen til at repræsentere BSON-dokumenter. DBObject ligner Document ved, at det repræsenterer BSON-værdier som objekt, men det har nogle få mangler, som var umulige at overvinde:

  1. det er en grænseflade snarere end en klasse, så dens API kan ikke udvides uden at bryde binær kompatibilitet.

  2. Det implementerer faktisk ikke Map.

  3. Fordi det er en grænseflade, er en separat betonklasse kaldet BasicDBObject, som implementerer denne grænseflade, påkrævet

Bson For at binde disse alle sammen, indeholder driveren en lille, men kraftfuld grænseflade kaldet Bson. Enhver klasse, der repræsenterer et BSON-dokument, uanset om det er inkluderet i selve driveren eller fra en tredjepart, kan implementere denne grænseflade og kan derefter bruges et hvilket som helst sted i højniveau-API'en, hvor der kræves et BSON-dokument.



  1. Hentning af de nødvendige dokumenter fra begge samlinger i én forespørgsel i MongoDB-3.2.7

  2. MongoDB bruger COLLSCAN, når der kun returneres _id

  3. Kan meteor mongo driver håndtere $each og $position operatorer?

  4. Hvordan finder man dokument efter dele af ObjectId?