1

データベースを乗っ取ったので、そこからデータをエクスポートする必要がありますが、それをすばやく行う方法に少し行き詰まっています。

これはドキュメントのレイアウトの例です:

 {
   "_id": ObjectId("37035cs978952"),
   "main": {
     "432daf56676": {
       "dat": "2011-09-09T15: 52: 26+01: 00",
       "a": "a",
       "b": "c",
       }
  }
}   

だから私がやりたいのは、「dat」、「a」、「b」を1レベル上げて、mongoエクスポートをcsvにすばやく実行できるようにすることです。例 mongoexport db collection -f "main.dat", "main.a". 問題は、main の下のフィールドがランダムに生成された数値であることです (そもそもなぜそこに置かれたのかよくわかりません!)。

前もって感謝します!

4

1 に答える 1

2

これは、mongo シェルから実行される JavaScript で行うことができます。

XDB = db.tb;  // season to taste

var cursor;
cursor = XDB.find();

do {
    var olddoc = cursor.next();
    var newdoc = {};
    var oldmain = olddoc.main;

    for( x in oldmain ) {
       var newmain = oldmain[x]; 
       newdoc.main = newmain;
    }
    newdoc._id = olddoc._id;
    XDB.update({_id: olddoc._id}, newdoc );
} while ( cursor.hasNext() );
于 2012-08-08T22:55:11.593 に答える