我已经接管了一个数据库,需要从中导出数据,但我有点担心如何快速完成。
这是文档布局的一个示例:
{
"_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下面的字段是一个随机生成的数字(我不知道为什么它首先放在那里!)。
提前致谢!
答案 0 :(得分: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() );