2016-10-11 3 views
0

Ich treffe ein Problem, nur die Abfrage wie folgt:Mongo: Wie durch regex in Mongo

{"_id":ObjectId("XXXXXXXX"),"phone":"123456"} 

und jetzt möchte ich das Dokument abfragen, dass die Länge der Telefonfeld ist 5. Ich den Befehl ausführen wie folgt,

db.Phone.find({"phone":{"$regex":"\d{5}"}}) 

oder

db.Phone.find({"phone":/\d{5}/}) 

sie alle funktionieren nicht. Könnte mir jemand helfen, herauszufinden, wie man Regex in Mongo verwendet?

Antwort

3

Wenn Sie Dokumente zu finden, wo die Telefonnummer ist genau 5 Stellen wollen, müssen Sie die Regex am Anfang und Ende des Strings zu verankern mit ^ und $:

db.Phone.find({phone: /^\d{5}$/}) 

sonst wird es Passen Sie einen beliebigen String mit mindestens 5 Ziffern an einer beliebigen Stelle in der Zeichenfolge an.

+0

danke !!! Für mich geht das! – DlutAF