簡體   English   中英

asyncmongo嵌套查詢

[英]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個不同的命令,以

  1. 從db.items集合中收集所有大小,這些大小在您要發送的列表中

  2. 與每個具有“ real_name:id”的匹配。

如果使用異步框架,則唯一要優化的就是對於每個cursor.next()事件,您可以處理第二個查詢。 這些仍然是您將要發送的2個單獨的不同查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM