2016-06-20 11 views
-1
ersten Brief an Kapital

Hier ist das Problem,MongoDB Abfrage in bestehende Datenbank

ich den ersten Buchstaben eines Namens nutzen möchte in meinem vorhandenen Datenbank, wollte nur wissen, ob es eine Abfrage, so dass Ich kann es möglich machen.

was ich will - in meiner Datenbank sind so viele Namen in unformatierter Weise .. wie Lucy, Sean, Jon und so weiter. Ich möchte sie in einer formatierten Weise wie machen. Lucy. Sean, Jon. Kann mir jemand dabei helfen?

Vielen Dank im Voraus.

+0

So Ihre Mühe. Was Sie bisher versucht haben, Ihr Problem zu lösen, damit Sie Hilfe oder Anregungen bekommen können. – Shrabanee

+0

versucht https://docs.mongodb.com/manual/reference/operator/aggregation/toUpper/ – user6409738

+0

aber nicht funktioniert für mich – user6409738

Antwort

1

es möglicherweise nicht die beste Lösung. der einzige Schluckauf in unten Vorschlag ist, "3" von $ substr: ["$ name1", 1, ] dynamisch zu erhalten. aber gibt Ihnen einen Anfang?

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

unten ist das Ergebnis

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" }