2013-03-15 78 views
0

我在這裏粘貼了兩個pymongo聚合查詢,兩者都會返回相同的結果。 我想知道,哪一個會表現得更好,Pymongo,這些聚合查詢中的哪一個會更好地執行

條件在兩個賽管道

db.bseadjprice.aggregate([ 
      {"$match":{"scripcode":"533159"}} , 
      {"$match":{"date":{"$in":dt}}}, 
      {"$project":{"_id":0, "high":"$high", "low" : "$low"}} 
     ]) 

條件在單場管道

db.bseadjprice.aggregate([ 
     {"$match":{"scripcode":"533159", "date": {"$in":dt}}}, 
     {"$project":{"_id":0, "high":"$high", "low" : "$low"}} 
    ]) 

預先感謝您的投入。

+0

您是否嘗試過使用$ explain(http://docs.mongodb.org/manual/reference/operator/explain/)來查看它在做什麼?你沒有提到索引的內容。最好的答案將來自做真正的測試。爲什麼不使用'find'而不是'aggregate'? – WiredPrairie 2013-03-15 11:03:47

+0

不,我沒有試過$解釋。謝謝。會嘗試讓你知道。 – 2013-03-15 11:32:39

+0

爲什麼使用'aggregate'而不是'find'? – shelman 2013-03-28 15:19:27

回答

0

兩場比賽可以阻止1場比賽: 如果第一場比賽是假 - 第二場比賽不會做的工作。它可能在週期中更快,或者大數據和強查詢。