MongoDB查询以查找电话号码不是XXX-XXX-XXXX格式的文件

时间:2017-10-25 09:28:09

标签: mongodb mongodb-query

我有一个文件集有#34;电话" XXX-XXX-XXXX这种格式的字符串字段。但是有一些不同格式的电话号码,所以我们想要找出具有不同电话格式的文件。 MongoDB查询以查找电话号码不是XXX-XXX-XXXX格式的文件。

1 个答案:

答案 0 :(得分:3)

试试这个:

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

对于以下集合:

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

如果您想更多地限制电话号码,只需调整正则表达式。