MongoDB - 字符串到 ObjectID 并创建新集合
MongoDB - String to ObjectID and create new collection
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))
});
我想将 "Firmalar" 集合中每个文档中的字符串字段 "obj.osgbIdleri" 保存为 ObjectId 字段。我想我可以使用 "aggregation" 来做到这一点。但是当使用 "aggregation" 时,我不能 return foreach 中的每个对象。我想在创建新集合时创建 "firmaId.id" 和 "firmaId.osgbIdleri.id (ObjectID)"。
(代表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()
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))
});
我想将 "Firmalar" 集合中每个文档中的字符串字段 "obj.osgbIdleri" 保存为 ObjectId 字段。我想我可以使用 "aggregation" 来做到这一点。但是当使用 "aggregation" 时,我不能 return foreach 中的每个对象。我想在创建新集合时创建 "firmaId.id" 和 "firmaId.osgbIdleri.id (ObjectID)"。
(代表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()