MongoDB查询以大写现有数据库中的第一个字母

时间:2016-06-20 10:11:27

标签: mongodb mongodb-query mongodb-java mongo-collection

这是问题,

  

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

我想要什么 - 在我的数据库中有这么多名字是无格式的......比如lucy,Sean,jon等等。我想以格式化的方式制作它们。露西。肖恩,乔恩。任何人都可以帮我这个吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

它可能不是最好的解决方案。 以下建议中唯一的打嗝是获得" 3" of $ substr:[" $ name1",1, 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" }