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))
});
我想保存字符串字段&#34; obj.osgbIdleri&#34;在&#34; Firmalar&#34;中的每个文件中;集合作为ObjectId字段。我想我可以使用&#34;聚合&#34;来做到这一点。但是当使用&#34; aggregation&#34;时,我无法返回foreach中的每个对象。我想创建&#34; firmaId.id&#34;和&#34; firmaId.osgbIdleri.id(ObjectID)&#34;在创建新系列时。
答案 0 :(得分: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()