[英]Querying mongoDB using pymongo (completely new to mongo/pymongo)
如果這個問題看起來太瑣碎,請在評論中告訴我,我將進一步研究如何解決它。
我有一個名為 products 的集合,我在其中存儲來自不同零售商的特定產品的詳細信息。 文檔的架構如下所示 -
{
"_id": "uuid of a product",
"created_at": "timestamp",
"offers": [{
"retailer_id": 123,
"product_url": "url - of -a - product.com",
"price": "1"
},
{
"retailer_id": 456,
"product_url": "url - of -a - product.com",
"price": "1"
}
]
}
產品的 _id 是系統生成的。 考慮像“iPhone X”這樣的產品。 這將是一個包含來自多個零售商(如 Amazon、eBay 等)的 URL 和價格的單個文檔。
現在如果一個新的 URL 進入系統,我需要查詢這個 URL 是否已經存在於我們的數據庫中。 執行此操作的顯而易見的方法是迭代每個產品文檔的每個報價,並查看 product_url 字段是否與輸入 URL 匹配。 這需要將所有文檔加載到內存中,並逐一迭代每個產品的報價。 現在我的問題出現了——
有沒有更簡單的方法來實現這一目標? 使用pymongo? 或者我的數據庫架構需要更改,因為這個基本的 check_if_product_url_exists() 太復雜了?
MongoDB 提供使用點符號在數組內搜索。
所以你的查詢是:
db.collection.find({'offers.product_url': 'url - of -a - product.com'})
相同的語法適用於 MongoDB shell 或 pymongo。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.