如何为我的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"
但我想得到
“做饭”
仅用猫鼬怎么能得到这种结果?
答案 0 :(得分:1)
请检查文档中的trim()
定义,似乎您正在尝试删除字符串中间的多余字符,但是trim()
仅在字符串的开头和结尾删除它们字符串(Mongo docs)
我建议您为此定义一个自定义setter
(doc)或preSave
(doc)钩子,并使用正则表达式转换字符串(如果要删除,仅空格):str.replace( /\s\s+/g, ' ' )