下面是我的JSON,有什么方法可以合并同一文档的多个字段。
"_id" : 1,
"sem" : 1,
"achieve" : [ 70, 87, 90 ]
我期待输出为
"_id" : 1,
"sem" : [1,70, 87, 90],
"achieve" : [ 70, 87, 90 ]
答案 0 :(得分:1)
一种简单的方法就是为了实现你所要求的。您可以为集合的所有文档创建循环。下面的代码有'stack'集合,只有一个文档,你提到的那个。
doc = db.stack.findOne();
var tmp = doc.sem;
doc.sem = new Array();
doc.sem.push(tmp);
i = 0;
for(i = 0;i<doc.achieve.length;i++){
doc.sem.push(doc.achieve[i]);
}
db.stack.update({sem:1},doc);