我有一个文件集有#34;电话" XXX-XXX-XXXX这种格式的字符串字段。但是有一些不同格式的电话号码,所以我们想要找出具有不同电话格式的文件。 MongoDB查询以查找电话号码不是XXX-XXX-XXXX格式的文件。
答案 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" }
如果您想更多地限制电话号码,只需调整正则表达式。