2017-04-04 37 views
1
db.firmalar.find().forEach(function(obj) { 
    for(var i = 0; i < obj.osgbIdleri.length; i++){ //ObjectId ARRAY 
     obj.osgbIdleri[i] = ObjectId(obj.osgbIdleri[i]); 
    } 
    //out:result (firmaId.id & firmaId.osgbIdleri.id(ObjectId)) 
}); 

我想保存串场“obj.osgbIdleri”每个文档在“Firmalar”集合作为ObjectID字段。我想我可以用“聚合”来做到这一点。但是当使用“聚合”时,我无法返回每个对象的foreach。我想在创建新集合时创建“firmaId.id”和“firmaId.osgbIdleri.id(ObjectID)”。MongoDB的 - 字符串对象ID,并创建新的集合

回答

0

(发布代表OP)的

db.firmalar.mapReduce( 
     function() { 
      for(var i = 0; i < this.osgbIdleri.length; i++){ 
       this.osgbIdleri[i] = ObjectId(this.osgbIdleri[i]); 
      } 
      emit(this._id, this.osgbIdleri); }, 

     function(key, values) {return value}, { 
      query:{}, 
      out:"firmalarId" 
     } 
    ).find()