pymongo有没有办法使用字符串来执行查询而不是字典? 我希望能够使用与python/pymongo上的MongoDB shell完全相同的语法。那可能吗?pymongo使用字符串来查询而不是字典
回答
MongoDB shell是一个全功能的JavaScript控制台/解释器,带有一些绑定到带有mongodb服务器的消息。相比之下,PyMongo缺乏嵌入式JavaScript解释器或JavaScript解析器,因此您无法按原样执行MongoDB外壳查询。
请注意,mongo shell查询不是json文档,因为它们能够包含一些函数和一些对象构造函数,如{value: 2+2}
。
是的,你是对的,把所有的事情都放到了上下文中。然后,我正在寻找的是通过pymongo执行JavaScript代码的方法。我会看看mjhm提出的eval() –
eval()
功能可能是你要找的。请注意,它在数据库服务器上执行JS代码 - 不是在某些客户端的Mongo shell中。因此它有很多警告,我强烈建议不要在严重的生产环境中使用它。有关详细信息和示例,请参阅Mongo db.eval docs。
这可能确实是我正在寻找的。我要做一些测试,并让你知道结果。 –
这不会有效 - 我建议使用pymongo给你的惯用python。它会更有效率,并且是本地python,它紧密地映射到本地shell。 – Ross
- 1. Pymongo查询词典里面的字典?
- 2. TypeError:字符串索引必须是整数,而不是字符//使用字典
- 3. 使用键入的uuids而不是字符串uuids查询portal_catalog
- 4. PyMongo查询字典值当子字典中的值
- 5. 使用字符串查找C#字典
- 6. Neo4jClient查询返回查询字符串,而不是结果
- 7. javascript查询字符串> window.location.search.substring>使用#而不是?以开始查询字符串
- 8. MySQL查询返回字符串而不是数字值
- 9. Django的ORM的查询,而不是使用字典
- 10. 使用查询字符串查询字符串列表?
- 11. 使用C#字典序列化json查询字符串
- 12. PyMongo:物件()打印字符串,而不是对象
- 13. 使用查询字符串
- 14. 使用查询字符串
- 15. 使用查询字符串
- 16. 使用查询字符串
- 17. 使用查询字符串
- 18. 使用查询字符串
- 19. 使用查询字符串
- 20. 将字典转换为字符串而不使用文件
- 21. 强制Visual Studio 2010使用字符串而不是字符串
- 22. 如何摆脱'在字符串中产生'而不是''的查询字符串'
- 23. 使表单URL提交看起来像路线而不是查询字符串
- 24. 转换LINQ查询到词典<字符串,字符串[]>
- 25. Magento的 - 用漂亮的URL,而不是查询字符串PARAMS
- 26. 用户友好的网址而不是查询字符串?
- 27. 是否有可能从查询字符串中获取字典?
- 28. 使用字符串而不是“回声”?
- 29. C++ _bstr_t而不是使用字符串
- 30. 查询字符串是空字符#
你在找什么样的语法?你可以定义一个辅助函数来为你做这件事。例如,我很常见的创建一个函数,比如'def find(s):return mongo.db.col.findOne({“_ id”:s})' – Anorov
是的,但那不是我想要的。我正在工作的poc需要执行用户提供的任何查询。我想把所有的实际工作都留给MongoDB服务器本身。 –
这听起来不像是个好主意。你知道一个诡计多端的用户可以读写任何他们想要的数据库吗? – Anorov