问题来了,
我想将现有数据库中名称的第一个字母大写,只是想知道是否有任何查询,以便我可以使它成为可能。
我想要什么——在我的数据库中,很多名字都是未格式化的……比如 lucy、Sean、jon 等等。我想以格式化的方式制作它们。露西。肖恩,乔恩。谁能帮我这个?
提前致谢。
问题来了,
我想将现有数据库中名称的第一个字母大写,只是想知道是否有任何查询,以便我可以使它成为可能。
我想要什么——在我的数据库中,很多名字都是未格式化的……比如 lucy、Sean、jon 等等。我想以格式化的方式制作它们。露西。肖恩,乔恩。谁能帮我这个?
提前致谢。
它可能不是最好的解决方案。以下建议中唯一的问题是动态获取 $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" }