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