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
Python pymongo使用字符串而不是字典进行查询_Python_Mongodb_Pymongo - Fatal编程技术网

Python pymongo使用字符串而不是字典进行查询

Python pymongo使用字符串而不是字典进行查询,python,mongodb,pymongo,Python,Mongodb,Pymongo,pymongo中有没有一种方法可以使用字符串而不是字典来执行查询? 我希望能够使用与python/pymongo中MongoDB shell上完全相同的语法。这有可能吗?MongoDB shell是功能齐全的javascript控制台/解释器,通过MongoDB服务器绑定到消息。相反,PyMongo缺少嵌入式javascript解释器,甚至javascript解析器,所以您无法按原样执行MongoDB shell查询 请注意,mongo shell查询不是json文档,因为它们能够包含一些函数和

pymongo中有没有一种方法可以使用字符串而不是字典来执行查询?
我希望能够使用与python/pymongo中MongoDB shell上完全相同的语法。这有可能吗?

MongoDB shell是功能齐全的javascript控制台/解释器,通过MongoDB服务器绑定到消息。相反,PyMongo缺少嵌入式javascript解释器,甚至javascript解析器,所以您无法按原样执行MongoDB shell查询


请注意,mongo shell查询不是json文档,因为它们能够包含一些函数和一些对象构造函数,例如
{value:2+2}

函数可能就是您要查找的。注意,它在db服务器上执行JS代码——而不是在某个客户机上的Mongo shell中。因此,它附带了很多警告,我强烈建议不要在严重的生产情况下使用它。有关详细信息和示例,请参阅。

您需要哪种语法?您可能会定义一个帮助器函数来实现这一点。例如,对我来说,创建一个类似
def find(s):return mongo.db.col.findOne({“\u id”:s})
yes的函数是很常见的,但这不是我想要的。我工作的poc需要执行用户提供的任何查询。我想把所有真正的工作留给mongodb服务器本身去做。这听起来不是个好主意。你知道一个狡猾的用户可以在你的数据库中读写任何他们想要的东西吗?这可能正是我想要的。我将做一些测试,并让您知道结果。这不会很有效——我建议使用pymongo提供的惯用python。它将更加高效,并且是本地python,它与本地shell紧密映射。是的,你说得对,它将所有内容都放在上下文中。然后我要寻找的是一种通过pymongo执行javascript代码的方法。我来看看mjhm的评估建议()