编辑mongodb查询的结果替换字符串的一部分

时间:2014-05-07 16:41:32

标签: string mongodb replace

我有mongodb的问题。 我有一个查询,我想用另一个字符串替换字段的字符串的一部分。

例如: 而不是{description:“嗨。”}我想要{description:“嗨!”} 替换“。”用“!”

我不想更新数据库,我只想编辑查询的输出。 问题是我需要在查询中执行此操作,我认为不可能。

感谢您的建议。

1 个答案:

答案 0 :(得分:0)

你只能使用MapReduce:

var mapFunction = function() { 
  emit(this._id, this.description); 
  emit(this._id,  this.description); 
};

var reduceFunction = function(id, descriptions) { 
  return  descriptions[0].replace(/\./g,"!"); 
};

db.yourCollection.mapReduce(mapFunction,reduceFunction,{out:{inline:1}} );