2017-04-04 38 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()