2017-04-04 17 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)) 
}); 

Objectalフィールドとして "Firmalar"コレクションの各ドキュメントに文字列フィールド "obj.osgbIdleri"を保存します。私は "集約"を使ってこれを行うことができると思う。しかし、 "集約"を使用すると、foreach内のすべてのオブジェクトを返すことはできません。新しいコレクションを作成しながら、 "firmaId.id"と "firmaId.osgbIdleri.id(ObjectID)"を作成したいと思います。MongoDB - ObjectIDへの文字列と新しいコレクションを作成する

答えて

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() 
関連する問題