0
假設我有一個包含兩個集合的MongoDB數據庫 - 'fruits'和'籃子'。除了名字之外,每種水果都有很多信息,比如卡路里,原產國和什麼。如何在MongoDB中通過_ids有效地查找多個項目?
一個籃子基本上只是一組水果,即除了籃子的屬性外,每個籃子的物品都有一個字段FRUIT_ARRAY
,其中包含_id
的水果。爲了簡單起見,假設每個水果只能屬於一個籃子。
現在有人給我一個籃子_id
,我需要儘可能高效地提取相應的水果記錄及其所有細節。我的問題是 - 有沒有更有效的方法不止做這個(我使用的是Python包裝互動與MongoDB的所謂pymongo
):
basket = db['baskets'].find_one({'_id':basket_id})
fruits = db['fruits'].find({'_id':{'$in':basket[FRUIT_ARRAY]}})
鑑於我必須這樣做,每筐收集,我怎樣才能使這個過程更有效率?我聽說過批量操作,但據我所知,它們只是關於數據庫的更新。
你可以擴大你的答案一點點嗎?你的意思是說我的做法是最有效率的嗎? – morgan1189
問題是:它*工作*,如果沒有,有*不同*的方式。我看不到任何東西。 – 2016-03-15 08:05:16
爲了清楚起見,我知道我的代碼有效,我只是想找到一種更有效的方法來做到這一點。 – morgan1189