Mongodb: db.Sammlung.copyTo() und eval() sind veraltet. Was ist die alternativen?
Ich finde, dass db.Sammlung.copyTo() und eval(), wurden verworfen, da 3.0. Aber ich finde nicht, was kann anstatt.
Was sind die alternativen?
- Sie können mongoimport und mongoexport
- was für die db.eval() ?
- Aber, mongoimport und mongoexport nicht Programmierbarkeit. Ich möchte die Verwendung von python-code zu kopieren Sammlung.
- Ich fragte die gleiche Frage in "Mongo" -Benutzer-Gruppe. Dieses kann dir helfen : groups.google.com/forum/...
- Für kleine Sammlungen, diese arbeitete als
copyTo()
äquivalent:db.source_collection.find().forEach( function(doc) { db.dest_collection.insert(doc); } );
. - Sie sollten Ihren Kommentar als Lösung vorgeschlagen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Pro diese Diskussion auf die MongoDB-Gruppe.
So würde das bedeuten, dass zum schreiben von Abfragen in einer client-Umgebung (z.B. Node.js) und führen Sie auf diese Weise. Wenn der run auf die server-Verbindung zu localhost, sollten Sie ziemlich schnell, obwohl das wahrscheinlich nicht so schnell wie mit
eval
.Die Begründung für die als veraltet beschrieben ist in diesem ticket.
https://jira.mongodb.org/browse/SERVER-17453
Erstellen Sie eine mongodump dieser Sammlung, tun mongorestore auf eine separate oder neue Sammlung.
Diese nicht stoppen, Lesen/schreiben oder nicht-Sperre der Sammlung.
"oder" speichern als json-beide Werke
Wenn gespeichert wie archivieren, wiederherstellen,
Für eine serverseitige Lösung, die Sie verwenden können, aggregation...