MongoDB JSON ohne Leerzeichen drucken
- MongoDB JSON ohne Leerzeichen drucken
-
Verwenden Sie die
find()
-Methode, um JSON ohne Leerzeichen in MongoDB zu drucken -
Verwenden Sie das Objekt
cursor
, umJSON
ohne Leerzeichen in MongoDB zu drucken
Dieser Artikel lehrt, wie man JSON-Dokumente ohne Leerzeichen in MongoDB mit Hilfe verschiedener Code-Snippets druckt.
MongoDB JSON ohne Leerzeichen drucken
Lassen Sie uns eine Beispielsammlung erstellen und drei Dokumente einfügen, die später in diesem Tutorial in den Codebeispielen verwendet werden sollen, um sie besser zu verstehen.
Beispielcode:
> db.createCollection('printjson');
> db.printjson.insertMany([
{"_id": "ab01", array: ['element1', 'element2'], results: [3,4]},
{"_id": "cd02", array: ['element1', 'element2'], results: [7,3]},
{"_id": "ef03", array: ['element1', 'element2'], results: [9,9]}
]);
> db.printjson.find().pretty();
AUSGANG:
{
"_id" : "ab01",
"array" : [
"element1",
"element2"
],
"results" : [
3,
4
]
}
{
"_id" : "cd02",
"array" : [
"element1",
"element2"
],
"results" : [
7,
3
]
}
{
"_id" : "ef03",
"array" : [
"element1",
"element2"
],
"results" : [
9,
9
]
}
Wie wir sehen können, enthält die oben angegebene Ausgabe viele Leerzeichen, die wir nicht wollen. Wir möchten diese resultierenden JSON-Dokumente wie unten angegeben ohne Leerzeichen drucken.
{ "_id" : "ab01", "array" : [ "element1", "element2" ], "results" : [ 3, 4 ] }
{ "_id" : "cd02", "array" : [ "element1", "element2" ], "results" : [ 7, 3 ] }
{ "_id" : "ef03", "array" : [ "element1", "element2" ], "results" : [ 9, 9 ] }
Verwenden Sie die find()
-Methode, um JSON ohne Leerzeichen in MongoDB zu drucken
Beispielcode:
> db.printjson.find();
AUSGANG:
{ "_id" : "ab01", "array" : [ "element1", "element2" ], "results" : [ 3, 4 ] }
{ "_id" : "cd02", "array" : [ "element1", "element2" ], "results" : [ 7, 3 ] }
{ "_id" : "ef03", "array" : [ "element1", "element2" ], "results" : [ 9, 9 ] }
Einer der einfachsten Ansätze besteht darin, anstelle von find().pretty()
nur die Methode find()
zu verwenden.
Verwenden Sie das Objekt cursor
, um JSON
ohne Leerzeichen in MongoDB zu drucken
Bevor Sie zu den Codebeispielen übergehen, ist es notwendig, das cursor
-Objekt zu kennen. Immer wenn wir die Methode find()
verwenden, um Dokumente aus einer bestimmten Sammlung abzurufen, gibt sie einen Zeiger zurück, den wir cursor
nennen.
Wir können sagen, dass der von der Methode find()
zurückgegebene Zeiger als cursor
-Objekt bekannt ist.
Beispielcode:
> var cursor = db.printjson.find();
> while(cursor.hasNext()){
printjsononeline(cursor.next());
}
AUSGANG:
{ "_id" : "ab01", "array" : [ "element1", "element2" ], "results" : [ 3, 4 ] }
{ "_id" : "cd02", "array" : [ "element1", "element2" ], "results" : [ 7, 3 ] }
{ "_id" : "ef03", "array" : [ "element1", "element2" ], "results" : [ 9, 9 ] }
In diesem Code speichern wir den von der Methode find()
zurückgegebenen Zeiger in einer Variablen namens cursor
. Außerdem iterieren wir über die Variable cursor
, um die JSON-Dokumente ohne Leerzeichen zu drucken.
Hier gibt die Methode cursor.hasNext()
true zurück, wenn der von db.printjson.find()
zurückgegebene Cursor weiter iterieren kann, um weitere Dokumente zurückzugeben. Die Methode next()
wird verwendet, um Zugriff auf das nächste Dokument zu erhalten.
Anstatt den Zeiger in einer Variablen zu speichern und dann über diese Variable zu iterieren, können wir die unten angegebene optimiertere Abfrage verwenden.
Beispielcode:
> db.printjson.find().forEach(printjsononeline);
AUSGANG:
{ "_id" : "ab01", "array" : [ "element1", "element2" ], "results" : [ 3, 4 ] }
{ "_id" : "cd02", "array" : [ "element1", "element2" ], "results" : [ 7, 3 ] }
{ "_id" : "ef03", "array" : [ "element1", "element2" ], "results" : [ 9, 9 ] }
Als nächstes können wir über die Variable cursor
iterieren und das resultierende Dokument in Form eines Arrays mit der Methode toArray()
drucken, wie unten gezeigt.
Beispielcode:
> var cursor = db.printjson.find();
> var documents = cursor.toArray();
> var i=0;
> while(i<documents.length){
printjsononeline(cursor[i]);
i++;
}
AUSGANG:
{ "_id" : "ab01", "array" : [ "element1", "element2" ], "results" : [ 3, 4 ] }
{ "_id" : "cd02", "array" : [ "element1", "element2" ], "results" : [ 7, 3 ] }
{ "_id" : "ef03", "array" : [ "element1", "element2" ], "results" : [ 9, 9 ] }
Alternativ können wir dasselbe auch wie folgt tun.
> var cursor = db.printjson.find();
> var i=0;
> while(i<cursor.count()){
printjsononeline(cursor[i]);
i++;
}
AUSGANG:
{ "_id" : "ab01", "array" : [ "element1", "element2" ], "results" : [ 3, 4 ] }
{ "_id" : "cd02", "array" : [ "element1", "element2" ], "results" : [ 7, 3 ] }
{ "_id" : "ef03", "array" : [ "element1", "element2" ], "results" : [ 9, 9 ] }