我的集合包括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' } } );