我已经接管了一个数据库,需要从中导出数据,但我有点卡不住如何快速完成。
以下是文档布局的示例:
{
"_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 下面的字段是一个随机生成的数字(我不太清楚为什么它首先被放在那里!
提前感谢!
你可以从 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() );