使用mongodb合并文档中的两个字段

时间:2014-10-08 03:01:07

标签: mongodb

下面是我的JSON,有什么方法可以合并同一文档的多个字段。

 "_id" : 1,
 "sem" : 1,
 "achieve" : [ 70, 87, 90 ] 

我期待输出为

 "_id" : 1,
 "sem" : [1,70, 87, 90],
 "achieve" : [ 70, 87, 90 ] 

1 个答案:

答案 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);