執行一些聚集魔術之後,我來到了這個數據:如果兩個字段相同,如何排除文檔?
{ "_id" : "5700edfe03fcdb000347bebb", "size" : 3, "count" : 2 }
{ "_id" : "5700edfe03fcdb000347bebf", "size" : 2, "count" : 2 }
現在,我要消除所有地方的大小等於計數的條目。
於是我就這樣聚集指令:
match3 = { "$match" : { "size" : { "$ne" : "count"} } }
不過,這並不排除任何東西,因爲它是返回兩行。
我想要的結果是公正這一行,因爲它是唯一一所在大小不等於count:
{ "_id" : "5700edfe03fcdb000347bebb", "size" : 3, "count" : 2 }
感謝 - 這是正確的答案。 – Simon
雖然這個答案是正確的,有沒有更有效的方式與$ ne匹配?使用編輯器的問題在於,您首先會按照某個標準進行匹配,例如,返回100個符合該條件的文檔。你在內存中修改它,這可能是內存密集型的。如果您將其與條件和$ ne聚合步驟相匹配,則可以返回20個文檔,這將節省內存。 – Simon
@Simon我不知道我完全理解你的意思,但問題在於我們需要比較文檔中兩個字段的值,而我們不能用'$ match'來完成。 – styvane