Wenn ich db.collection.explain().find()
starte, gibt es den folgenden Fehler;MongoDB gibt kein richtiges JSON zurück
The last field in this json object has a double quote problem: `"totalChildMillis" : NumberLong(2)`.
Wenn ich dieses Objekt zu analysieren, habe ich eine Ausnahme sagen, dass NumberLong(2)
sollte doppelt angegeben werden. Gibt es eine Möglichkeit, dass MongoDB ein Standard-JSON-Objekt zurückgibt?
{
"executionStages":{
"stage": "SINGLE_SHARD",
"nReturned": 10000,
"executionTimeMillis": 3,
"totalKeysExamined": 0,
"totalDocsExamined": 10000,
"totalChildMillis": NumberLong(2)
}
}
EDIT1
I Javascript NodeJS bin derzeit ein Teilprozess eines Mongo-Shell zu erstellen. Und senden Sie den Befehl explain an diesen Prozess und hören Sie auf seine Ausgabe. Sobald ich die Ausgabe erhalten habe, muss ich es zu einem JavaScript-Objekt durch JSON.parse() -Methode analysieren. Basierend auf diesem Anwendungsfall, was ist der leichtere Weg für mich, die mongo json-Erweiterung als Standard-JavaScript-Objekt zu verwenden?
Vielen Dank für Ihre Antwort. Ich habe meinen Anwendungsfall in der Frage hinzugefügt. Könnten Sie sich Ihren Vorschlag ansehen und ihn wissen lassen? –
Ja, ich benutze Node.js, aber ich habe keinen Treiber verwendet. Ich habe einen Unterprozess von Mongo-Shell in Nodejs erstellt und höre auf seinen Standard-Ausgabestrom. Gibt es also einen Weg für Mongo-Shell Returns Standard-JSON-Ausgabe? –
Nein, das ist nicht möglich. Und wie gesagt, der Ansatz des Fahrers ist der beste Ansatz. – helmy