如何在猫鼬中大写字符串?

3 javascript database mongoose mongodb node.js

我有我的架构:

Schema = {
 name: String,
 email: String,
 animal: String
};
Run Code Online (Sandbox Code Playgroud)

而且我知道mongoose有一些方法可以帮助我大写,小写,甚至修剪我的字符串,但是如何大写?我想让我能够只用名字和电子邮件的第一个字母大写.

我怎样才能做到这一点??

我使用表单来捕获数据,它们使用post route保存在我的数据库中,并且有一些用户键入所有lowecase,我正在尝试用css处理这个问题.

input#name {
 text-transform: capitalize;
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

fin*_*ino 11

最好的方法是使用Mongooses Baked功能 - 这应该做到!

Schema = {
 name:{
    type: String,
    uppercase: true
 },
 email: String,
 animal: String
};
Run Code Online (Sandbox Code Playgroud)

  • 这会将整个文本转换为大写。如上所述,OP 只需要大写首字母。 (4认同)

sch*_*ger 6

CSS 样式仅在可见端,而不在数据端。

您必须使用 JavaScript 来执行此操作:

schema.pre('save', function (next) {
  // capitalize
  this.name.charAt(0).toUpperCase() + this.name.slice(1);
  next();
});
Run Code Online (Sandbox Code Playgroud)

编辑:正如 Luis Febro 在下面的评论中提到的,当前的实现保留了字符串其余部分的大写/小写拼写。如果您确实想确保只有第一个字母大写,其余字母由小写字母组成,您可以像这样调整代码:

this.name.charAt(0).toUpperCase() + this.name.slice(1).toLowerCase()
Run Code Online (Sandbox Code Playgroud)