Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB查询以查找电话号码不是XXX-XXX-XXXX格式的文档_Mongodb_Mongodb Query - Fatal编程技术网

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

MongoDB查询以查找电话号码不是XXX-XXX-XXXX格式的文档,mongodb,mongodb-query,Mongodb,Mongodb Query,我有一个集合,其中文档具有XXX-XXX-XXXX这种格式的“phone”字符串字段。但是有一些不同格式的电话号码,所以我们想找出具有不同电话格式的文档。 MongoDB查询以查找电话号码不是XXX-XXX-XXXX格式的文档。尝试以下操作: db.yourCollection.find({ phone: { $not: /^[0-9]{3}-[0-9]{3}-[0-9]{4}$/ } }) 对于以下集合: { "_id" : ObjectId("59

我有一个集合,其中文档具有XXX-XXX-XXXX这种格式的“phone”字符串字段。但是有一些不同格式的电话号码,所以我们想找出具有不同电话格式的文档。 MongoDB查询以查找电话号码不是XXX-XXX-XXXX格式的文档。

尝试以下操作:

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

如果您想进一步限制电话号码,只需调整regex模式。

我尝试使用regex。我已经编写了Java代码来确定给定字符串是否为xxx-xxx-xxxx格式,但我想通过查询来完成。