Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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
在mongo';上传递正则表达式查询的语法;s自己的http rest接口_Rest_Mongodb - Fatal编程技术网

在mongo';上传递正则表达式查询的语法;s自己的http rest接口

在mongo';上传递正则表达式查询的语法;s自己的http rest接口,rest,mongodb,Rest,Mongodb,我想使用标准的MongoDB ReST接口()来搜索并返回在特定字段上具有通配符匹配的记录,在本例中为“link_url”。例如,通过“acko”匹配www.stackoverflow.com等 看起来如果我想要一个精确的匹配我会用 http://127.0.0.1:28017/databaseName/collectionName/?filter_link_url=value 但我想通过正则表达式来允许部分匹配 我尝试过以各种方式将上面的URL与语法结合起来,比如它们的代码片段: "matc

我想使用标准的MongoDB ReST接口()来搜索并返回在特定字段上具有通配符匹配的记录,在本例中为“link_url”。例如,通过“acko”匹配www.stackoverflow.com等

看起来如果我想要一个精确的匹配我会用

http://127.0.0.1:28017/databaseName/collectionName/?filter_link_url=value
但我想通过正则表达式来允许部分匹配

我尝试过以各种方式将上面的URL与语法结合起来,比如它们的代码片段:

"match" : { "$regex" : "foo", "$options" : "ig" }

但是没有运气。有人能帮忙吗?我只需要进行查找,理想情况下不需要运行另一个接口。

它看起来像REST接口(可能是出于安全考虑),自动转义通过的字段,并且不可能进行嵌入式查询。这意味着两种传递所需URL格式的方法似乎都被排除在外。例如:

db.collection.find({"url" : /acko.*/i})
理论上,这将转化为:

http://127.0.0.1:28017/databaseName/collectionName/$cmd/?filter_url=/acko.*/i
不幸的是,这实际上被传递为(请注意引号):

在另一个表单中,将$regex命令作为嵌入文档传递,也存在类似的问题。这就是为什么内置REST接口不是针对mongoDB运行查询的推荐解决方案。相反,你应该看看),或者


我知道您不想使用另一个接口,但有时这确实是最好的做法。

它看起来像REST接口(可能是出于安全考虑),自动转义通过的字段,并且不可能进行嵌入式查询。这意味着两种传递所需URL格式的方法似乎都被排除在外。例如:

db.collection.find({"url" : /acko.*/i})
理论上,这将转化为:

http://127.0.0.1:28017/databaseName/collectionName/$cmd/?filter_url=/acko.*/i
不幸的是,这实际上被传递为(请注意引号):

在另一个表单中,将$regex命令作为嵌入文档传递,也存在类似的问题。这就是为什么内置REST接口不是针对mongoDB运行查询的推荐解决方案。相反,你应该看看),或者


我知道您不想使用另一个界面,但有时这确实是最好的选择。

我知道这与您的问题本身无关,但我在mongolab上尝试了这一点,这对我很有效:

https://api.mongolab.com/api/1/databases/myDBName/collections/categories/?apiKey=myAPIKey&q={"keyname":{"$regex":"^Kampanje$","$options":"i"}}

这发现所有被称为“Kampanje”的关键字都是不敏感的。请注意,URL不能包含空格。

我知道这与您的问题本身无关,但我在mongolab上尝试过,这对我很有效:

https://api.mongolab.com/api/1/databases/myDBName/collections/categories/?apiKey=myAPIKey&q={"keyname":{"$regex":"^Kampanje$","$options":"i"}}

这发现所有被称为“Kampanje”的关键字都是不敏感的。请注意,URL不能包含空格。

谢谢亚当,我认为你是对的。我来看看其他的界面汉克·亚当,我想你是对的。我将看看其他一些接口