1

我已经接管了一个数据库,需要从中导出数据,但我有点不知道如何快速完成。

这是文档布局的示例:

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

所以我想做的就是将“dat”、“a”和“b”拉上一层,这样我就可以快速将 mongo 导出到 csv。例如 mongoexport db collection -f "main.dat", "main.a"。问题是 main 下面的字段是一个随机生成的数字(我不太清楚为什么首先将它放在那里!)。

提前致谢!

4

1 回答 1

2

您可以使用从 mongo shell 运行的一些 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 回答