2016-09-11 18 views
0

Ich lerne Mongodb durch die Integration mit meiner Java-Anwendung. Bis jetzt habe ich meine MongoDB als einen Windows-Dienst konfiguriert, der ausgeführt wird, wenn meine Windows startet, und ich bin erfolgreich in der Lage, eine Verbindung herzustellen, Daten von MongoDB einzufügen und zu finden, die mit meiner Java-Anwendung integriert ist. Ich verstehe, dass jede Daten als ein Schlüssel: Dokument-Paar in MongoDb gespeichert und horizontal ohne eine vordefinierte Schemadefinition skaliert werden. Allerdings bin ich immer noch nicht klar mit meinen folgenden Zweifeln: -Wie werden Daten in MongoDB-Tabellen gespeichert?

1) Wenn wir sagen, dass jede Daten als Schlüssel gespeichert ist: Dokumentpaar dann was bedeutet der Begriff "Schlüssel" hier? Ist es der primäre Wert, den ich in die Daten eingabe, oder bedeutet dieser "Schlüssel" eine eindeutige Datensatz-ID (die wie in RDBMS Zufallszahlen enthält). Zum Beispiel: -

DBCollection table = db.getCollection("employee"); 
     BasicDBObject document = document = new BasicDBObject(); 
     document.put("EmpId", "1001"); 
     document.put("Name", "Vijay Kumar"); 
     document.put("Gender", "Male"); 
     table.insert(document); 

Hier, wenn ich nicht falsch liege dann ist EmpId nicht der Schlüssel hier, oder? Der Schlüssel ist die eindeutige ID dieser Daten in der MongoDB-Tabelle mit dem Namen 'employee' wie '57cd9d404a85c209a42ed747'. Bitte bestätigen.

2) Wenn wir sagen, dass alle Daten als Dokument gespeichert sind, was genau bedeutet das? Wie sieht es aus, strukturiert oder unstrukturiert? Können die gespeicherten Dokumente nicht mit einem Client wie SQLDeveloper oder Toad for RDBMS angezeigt werden?

3) Schließlich, die schneller ist als auch zu speichern, mit großen Daten

+0

Mongo erstellt ein eindeutiges ID-Feld für Sie, und die Daten werden als Binär-JSON (BSON) gespeichert. –

+0

Nur eine Randnotiz: Wenn Sie gerade mit MongoDB anfangen, gehe ich davon aus, dass Sie eine aktuelle Version verwenden. Wenn dies der Fall ist, suchen Sie nach einem aktuellen Tutorial, das NICHT mehr die alte API verwendet. Ab Version 3.2 sollten Sie MongoClient/MongoDatabase/MongoCollection/org.bson.Document verwenden. Ein guter Anfang ist hier: http://mongodb.github.io/mongo-java-driver/3.2/driver/reference/crud/ – mtj

Antwort

0

MongoDB schafft eine eindeutige ID zu einem bestimmten Dokument in einer Tabelle zu entnehmen abzurufen.

Für 1:

Der Schlüssel Sie hier sind talkng ist eine Referenzgröße ein Daten zu holen, wenn sie aufgerufen wird. So sagen wir key-value pair. So EmpId ist der Schlüssel und 1001 ist der Wert. Oder Sie können den Schlüssel als den Namen der Spalte in einer Tabelle und 1001 als ein Feld anzeigen.

für 2:

Das Dokument ist eine Sammlung von Schlüsselwert-Paar. Zum Beispiel:

{ 
    "EmpId", "1001", 
    "Name", "Vijay Kumar" 
} 

Dies kann als ein Dokument betrachtet werden.

Für 3:

große Daten zu speichern, müssen Sie die Dokumente in einer Array-Form zu speichern. zum Beispiel können Sie verwenden JSONArray object

Für eaxmple:

[ 
    { 
     "EmpId", "1001", 
     "Name", "Vijay Kumar" 
    }, 
    { 
     "EmpId", "1002", 
     "Name", "Emil John" 
    } 
] 
0

die Daten speichert in MongoDB als Binary JSON Typischerweise und für jedes Dokument eingefügt es eine eindeutige ID erzeugt (Standardname _id). Wenn Sie es nun mit traditionellen RDBMS vergleichen, sollten Sie den Schlüssel als Spalte und den Wert als seine Daten betrachten. Jedes Dokument bedeutet also eine bestimmte Zeile einer relationalen Datenbank und Sammlung bedeutet eine Tabelle.

Es gibt einige Tools für MongoDB. Ich benutze besonders MongoChef.

Mongodb ist entworfen, um große Daten zu handhaben, so ist es schneller als traditionelle RDBMS, wenn es darum geht, die Daten abzurufen und zu speichern.

Verwandte Themen