ich eine Reihe von Daten wie dieses:sortieren Dokumente basierend auf erste Zeichen in Feldwert
[{name: "ROBERT"}, {name: "PETER"}, {name: "ROBINSON"} , {name: "ABIGAIL"}]
Ich möchte eine einzige mongodb Abfrage machen, finden Sie unter:
- Alle Daten, die Namen beginnt mit dem Buchstaben "R" (regex:^R)
- von jedem Daten folgen die Namen Buchstabe "R" nicht als das erste Zeichen, wie enthält: Peter, adleR oder CARL
so erzeugt er:
[{name: "ROBERT"}, {name: "ROBINSON"}, {name: "PETER"}]
es im Grunde nur alle Daten anzuzeigen, die „R“ Zeichen in es enthält, aber ich mag es sortieren, so dass Daten mit „R“ als erstes Zeichen erscheinen, bevor der Rest
Bis jetzt bin ich mit 2 separaten Abfrage, gefolgt von einer Operation, um doppelte Ergebnisse zu beseitigen, dann trat sie. Gibt es einen effizienteren Weg, dies in Mongo zu tun?
Criteria (2) ist unklar. Es scheint, als ob Sie das Dokument wollen, in dem 'name'' R' enthält. Wenn das der Fall ist dann [Wie frage ich mongodb mit "Gefällt mir"?] (Https://stackoverflow.com/questions/3305561/how-do-i-query-mongodb-with-like) – styvane
Nein, ich gerade meine Frage bearbeitet, um mehr Klarheit zu geben. Ich möchte: alle Daten anzeigen, wo 'Name'' R' enthält, aber ich möchte es so Daten mit "R" sortieren, wie das erste Zeichen vor dem Rest erscheint – DennyHiu