MongoDB-Java-Treiber erstellen einer Datenbank und Sammlung
war ich zu testen, wie das erstellen der Datenbank und Sammlung mongo java-Treiber.
MongoClient client = new MongoClient("localhost",27017);
DB db = client.getDB("ow");
DBCollection collection = db.getCollection("documents");
collection.save(new BasicDBObject("_id",1));
collection.remove(new BasicDBObject("_id",1));
boolean result = db.collectionExists("documents");
assertTrue(result);
assertNotNull(collection);
client.close();
Ich würde es vorziehen, zu verwenden createCollection Methode auf das DB-Objekt, aber festgestellt, dass es keine Datenbank erstellen /Sammlung, es sei denn, das erste Dokument eingefügt wird.
Meine Frage ist, ist dieses Verständnis richtig ? Ist der obige code korrekt war die Schaffung Sammlung oder Datenbank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
MongoDB
erstellt eine Sammlungimplicitly
wenn das erste Dokument gespeichert ist, in eine Sammlung. DiecreateCollection()
Methode explizit erstellt eine Sammlung, die nur und nur wenn ein options-Objekt übergeben es als argument.Nun, das macht Sinn. Die
options
parameter können ein oder mehrere Argumente zu entscheiden, die Merkmale der Kollektion, die wir wollen, zu erstellen, wiecapped
,autoIndexId
,size
,usePowerOf2Sizes
,max no. of documents
.Wenn wir geben Sie keine dieser Optionen das standardmäßige Verhalten würde, Vorrang, ich.e erstellen Sie eine Sammlung träge, wenn die erste insert-Anweisung wird gemacht, mit default Einstellungen.
Wollen wir also eine Auflistung, deren Eigenschaften, die wir dabei sind zu definieren, die wir dann weitergeben können, diese Eigenschaften als
DBObject
zu dencreateCollections()
Methode und unsere Sammlung geschaffen würde. Unten ist ein Beispiel, wie pass die Optionen.Ja. Es ermöglicht
mongodb
gelten diedefault configuration
für Ihre Sammlung. Es sei denn, Sie möchten diemax
,size
,autoIndexId
,capped
,usePowerOf2Sizes
Eigenschaften für die neue Sammlung, das ist in Ordnung.Finden: http://docs.mongodb.org/manual/reference/method/db.createCollection/
MongoDB
müssen nicht erstellen Sie eine leere Sammlung, ohne zu wissen, ob der Kunde, es überhaupt zu verwenden. Wenn es das täte wäre es gewesen, ein overhead. Aber wenn der client ausdrücklich fordert für eine Sammlung mit Optionen, dann entsteht die Sammlung.