Php 使用mongodb文档匹配搜索

Php 使用mongodb文档匹配搜索,php,regex,mongodb,Php,Regex,Mongodb,我有一个mongoDB文档集。文档中的I字段是正则表达式。 我想从用户那里获取一个输入字符串& 我希望MongoDB中的正则表达式与给定字符串匹配,并回显结果文档。 例如: 如果有人现在输入一个像776847这样的字符串,它应该返回到集合,将正则表达式与字符串进行比较,并返回整数,等等 有什么最好的方法吗 提前感谢。如果理解,您的意思是如果用户输入为:1234 您的mongo db如下所示: "_id": { "$oid": "5eeeef2a132cb8992da8"

我有一个mongoDB文档集。文档中的I字段是正则表达式。 我想从用户那里获取一个输入字符串& 我希望MongoDB中的正则表达式与给定字符串匹配,并回显结果文档。 例如:

如果有人现在输入一个像776847这样的字符串,它应该返回到集合,将正则表达式与字符串进行比较,并返回整数,等等

有什么最好的方法吗


提前感谢。

如果理解,您的意思是如果用户输入为:1234

您的mongo db如下所示:

"_id": {
        "$oid": "5eeeef2a132cb8992da8"
    },
    "type": "integer",
    "regex": "\d+",
    "example": "12345"
}
结果将是整数

您可以提取所有mongo数据并循环它

您可以将MongoFind方法与mongodb游标一起使用

例如: 它是用python编写的,但您将了解总体思路

def func():
   search = collection.find({'example':<user input>})
   if search:
      result = re.search(search['regex'],<user input>)
      if result != []:
         return = search['type']
      else:
         return "No match"
希望对你有帮助

B.R

什洛米

def func():
   search = collection.find({'example':<user input>})
   if search:
      result = re.search(search['regex'],<user input>)
      if result != []:
         return = search['type']
      else:
         return "No match"