从值字段中删除“ \ n”会导致mongo db

时间:2018-09-20 14:04:13

标签: mongodb mongoose mongodb-query aggregation-framework

如何从mongo db的搜索值结果中删除“ \ n”而不从mongo db的值中删除它? 请我帮忙!

2 个答案:

答案 0 :(得分:1)

您可以尝试以下汇总

db.collection.aggregate([
  { "$project": {
    "textstr": {
      "$reduce": {
        "input": { "$split": ["$textstr", "\n"] },
        "initialValue": "",
        "in": { "$concat": ["$$this", " ", "$$value"] }
      }
    }
  }}
])

答案 1 :(得分:0)

包含2个文档的示例:

db.testcol.insert({
    textstr: "Hello World\nBye World\nHello World\n"
})
db.testcol.insert({
    textstr: "Testing\n123\nTesting\n"
})

db.testcol.find({}, {_id: 0, textstr: 1}).forEach(function(e, i) {
    e.textstr=e.textstr.replace(new RegExp('\n', 'g'), "");
    printjson(e);
});

将输出:

{
    "textstr" : "Hello WorldBye WorldHello World"
}
{
    "textstr" : "Testing123Testing"
}

值得一提的是,如果要将/ n替换为另一个字符(例如空格),可以通过将第二个参数replace更改为您选择的字符串来实现。