使用URI模式匹配查找文档



我的集合包括API URI端点信息。我希望能够将URI作为搜索字符串传递到MongoDB中,并找到与URI模式相匹配的文档。

例如

如果我通过"/api/name/jason/profile"

我想搜索我的集合中的所有文档,以获取包含的文档...

uri:"/api/name/(:*)/profile"

(:*)是通配符。

关于我应该如何执行此操作的任何建议?

更新::::澄清...

如果我有一个简单的模式并没有真正改变,那将有效。但是问题是我可能不知道URI的哪一部分是动态的。因此,我真正需要做的就是将我的URI与所有包含不同URI模式的文档的集合进行比较,因此我的文档可能具有类似的模式。。

/api/name/{id}/ 
/api2/event/{id} 
/api/events/{from_date}/{to_date}

我想做的是找到一个最匹配我通过的URI模式的文档。

因此,如果我通过"/api/events/20170102/20170330",那么Mongo将返回具有" URI"的文档:

您可以尝试以下操作: -

db.collection.find( { 'URI': { $regex: '/api/name/*/profile', $options: 'i' } } );

最新更新