[英]How to trim spaces between words in mongoose?
如何为我的数据库修剪猫鼬中的单词之间的空格? 让我们想象一个案例
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"
但是我反而想得到
“做饭”
仅用猫鼬怎么能得到这种结果?
请检查docs中的trim()
定义,似乎您正在尝试删除字符串中间的多余字符,但是trim()
仅在字符串的开头和结尾删除它们( Mongo docs )
我建议您为此定义一个自定义的setter
( doc )或preSave
( doc )钩子,并使用regex转换字符串(如果只想删除空格): str.replace( /\\s\\s+/g, ' ' )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.