-1

问题来了,

我想将现有数据库中名称的第一个字母大写,只是想知道是否有任何查询,以便我可以使它成为可能。

我想要什么——在我的数据库中,很多名字都是未格式化的……比如 lucy、Sean、jon 等等。我想以格式化的方式制作它们。露西。肖恩,乔恩。谁能帮我这个?

提前致谢。

4

1 回答 1

1

它可能不是最好的解决方案。以下建议中唯一的问题是动态获取 $substr:["$name1",1, 3 ] 的“3”。但给你一个开始?

db.toupper.aggregate([{$project:{name:{$concat:[{$toUpper:{$substr:["$name1",0,1]}},{$substr:["$name1",1,**3**]}]}}}])

下面是结果

 db.toupper.find()

 "_id" : ObjectId("5767ca0badb381a5cc0d19cd"), "name1" : "lean" }
 "_id" : ObjectId("5767ca3aadb381a5cc0d19ce"), "name1" : "lean" }

 db.toupper.aggregate([{$project:{name:{$concat:[{$toUpper:{$substr:["$name1",0,1]}},{$substr:["$name1",1,3]}]}}}])

 "_id" : ObjectId("5767ca0badb381a5cc0d19cd"), "name" : "Lean" }
 "_id" : ObjectId("5767ca3aadb381a5cc0d19ce"), "name" : "Lean" }
于 2016-06-20T11:48:15.393 回答