如何修剪猫鼬中的单词之间的空格?

时间:2018-11-25 19:25:12

标签: javascript node.js mongoose

如何为我的DB修剪猫鼬中的单词之间的空格? 让我们想象一个案例`

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost:27017/TodoApp', { useNewUrlParser: true });

const Todo = mongoose.model('Todo', {
  text: {
    type: String,
    required: true,
    minlength: 1,
    trim: true
  }
});

const newTodo = new Todo({
  text: "   Cook     dinner   "
});

newTodo .save().then((doc) => {
  console.log('Saved todo', doc)
}).catch((e) => {
  console.log(e);
});

如果我运行此代码,我将在数据库中获取一个文本值为`

的文档。
"Cook     dinner"

但我想得到

  

“做饭”

仅用猫鼬怎么能得到这种结果?

1 个答案:

答案 0 :(得分:1)

请检查文档中的trim()定义,似乎您正在尝试删除字符串中间的多余字符,但是trim()仅在字符串的开头和结尾删除它们字符串(Mongo docs

我建议您为此定义一个自定义setterdoc)或preSavedoc)钩子,并使用正则表达式转换字符串(如果要删除,仅空格):str.replace( /\s\s+/g, ' ' )