2017-06-27 3 views
0

Vom documentation, heißt es mongoexport auf BSON DatentypenIn welchen Fällen kann mongoexport verwendet werden?

WARNUNG Vermeiden Sie mongoimport und mongoexport für die vollständige Instanz Produktion Sicherungen zu vermeiden. Sie behalten nicht alle reichen BSON-Daten Typen zuverlässig bei, da JSON nur eine Teilmenge der unterstützten Typen von BSON darstellen kann. Verwenden Sie mongodump und mongorestore wie in MongoDB Backup Methoden für diese Art von Funktionalität beschrieben.

eine Sammlung mit dem Namen "Testcollection" Angelegt

> db.testCollection.insert({title: 'MongoDB Overview', 
... description: 'MongoDB is magical database', 
... by: 'by newbie', 
... url: 'http://www.mongodb_cannot_understand_mongoexport.com', 
... tags: ['mongodb', 'database', 'NoSQL'], 
... likes: 100}); 

> db.testCollection.find().pretty(); 
{ 
    "_id" : ObjectId("59524e6412d3ef3c879c267a"), 
    "title" : "MongoDB Overview", 
    "description" : "MongoDB is magical database", 
    "by" : "by newbie", 
    "url" : "http://www.mongodb_cannot_understand_mongoexport.com", 
    "tags" : [ 
     "mongodb", 
     "database", 
     "NoSQL" 
    ], 
    "likes" : 100 
} 

die folgenden Befehle ausführen gibt Typ als Objekt und String,

Typeof db.testCollection.findOne() ._ id; Ausgabe: Objekt

typeof db.testCollection.findOne(). Title; Ausgabe: string

Wenn auf der obigen Sammlung mongoexport laufen kann oder mayn't die Erhaltung der Daten gewährleisten, wie es die Datentypen String und Objekt enthält. (Ich bezweifle, alle Dokumente, nicht Zeichenfolge haben, objectID Datentyp)

In diesem Fall mongoexport gar nicht von this list of bson types link description here

Meine Frage verwendet werden sollte, ist

In welchen Fällen mongoexport kann mit einem verwendet werden Beispielsammlung?

HINWEIS: Ich möchte mongoexport verwenden, mongodump ist keine Option

Antwort

0

Was dieser Absatz in der Dokumenation bedeutet, dass mit mongoexport/mongoimport, gibt es keine Garantie, die Daten in der wiederhergestellten Datenbank wird genau übereinstimmen, was in der ursprünglichen Quelle war. Dies liegt daran, dass JSON nativ viele BSON-Datentypen wie Date, MinKey, ObjectId usw. nicht unterstützt. Daher muss mongoexport Workarounds ausführen, um mindestens etwas für diese Typen zu exportieren. Dies ist, wie es ObjectId Felder, zum Beispiel exportiert:

"_id": {"$oid": "531701fdb9e3b40002000002"} 

Um einen Backup/Wiederherstellung Ihrer Daten zuverlässig, mongodump/mongorestore verwenden.

In welchen Fällen kann mongoexport mit einer Beispielkollektion verwendet werden?

Wenn Sie eine etwas Menschen lesbaren Snapshot Ihrer Daten zu erhalten. JSON wird auch in den meisten Sprachen sehr gut unterstützt, so dass Sie mongoexport verwenden können, um Daten mit den wissenschaftlichen Bibliotheken von Python oder ähnlichem zu cracken.

+0

Bearbeitet die Frage :), kann ich nicht mongodump/mongorestore –

+0

@ forum.test17: Nun, das ist dein Problem. Sie verwenden entweder mongodump oder vergessen zuverlässige Backup-Wiederherstellung. Das heißt, mongoexport/mongoimport _ sollte nicht abstürzen, aber sie können Ihre Daten beschädigen. –

+0

@ forum.test17: bearbeitet die Antwort :) –

Verwandte Themen