[英]asyncmongo nested query
我將項目及其屬性的關系存儲在結構中:
{'item': <item_id>,
'rel_name': 'sizes:4762',
'rel_type': 'sizes',
'rel_value': '4762'}
並擁有可在mongodb shell中完美運行的mongoDB查詢:
db.relations.distinct(
'rel_name',
{item:{
$in: db.items.distinct('id', {
'attributes.cat': {$in:[477]},
'attributes.sizes': {$in:[4762,5071,5072,5089,5555,903]}
})
}}
)
並且需要使用asyncmongo運行它,以避免獲取items.distinct值並將其傳遞回mongo(可能超過10000)的開銷,也許有一種方法可以將整個查詢作為字符串傳遞並獲取結果?
這僅適用於外殼程序和db.eval(),因為您將運行javascript。 最后,您最終將需要向Mongo Server發送2個不同的命令,以
從db.items集合中收集所有大小,這些大小在您要發送的列表中
與每個具有“ real_name:id”的匹配。
如果使用異步框架,則唯一要優化的就是對於每個cursor.next()事件,您可以處理第二個查詢。 這些仍然是您將要發送的2個單獨的不同查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.