2017-10-25 10 views
-1

文書にXXX-XXX-XXXX形式の「電話」文字列フィールドがあるコレクションがあります。さまざまな形式の電話番号があるので、異なる電話形式の文書を探したいと思っています。 MongoDBは、XXX-XXX-XXXX形式ではない電話番号の文書を検索します。XXX-XXX-XXXX形式以外の電話番号を持つ文書を検索するためのMongoDBクエリ

+0

正規表現を使用しようとしました。私は文字列がxxx-xxx-xxxx形式であるかどうかを調べるためにJavaコードを書いていますが、私はそれをクエリで実行したいと思います。 – Pranay

答えて

3

これを試してみてください:

{ 
    "_id" : ObjectId("59f059ea2504d6157d58c579"), 
    "phone" : "123-123-1234" 
} 
{ 
    "_id" : ObjectId("59f059f92504d6157d58c57a"), 
    "phone" : "234-234-2345" 
} 
{ 
    "_id" : ObjectId("59f05a0f2504d6157d58c57b"), 
    "phone" : "11-111-12222" 
} 

それが返されます:あなたはより多くの電話番号を制限したい場合は

{ "_id" : ObjectId("59f05a0f2504d6157d58c57b"), "phone" : "11-111-12222" } 

、単に正規表現を微調整し、次の収集のために

db.yourCollection.find({ 
    phone: { 
     $not: /^[0-9]{3}-[0-9]{3}-[0-9]{4}$/ 
    } 
}) 

パターン。

関連する問題