2012-10-19 99 views
0

有沒有辦法將請求分組到MongoDb?如何將mongoDb請求分組以獲得更好的性能?

例如,我有一個collection.find和三個來自C#代碼的collection.aggregate請求。

我想知道有沒有辦法將它們合併在一起,並只通過網絡發送一個請求。

+0

不知道爲什麼你會想。通過網絡發送的數據量將是2kb,是不是微觀優化? – Sammaye

+1

但是,要回答這個問題,因爲我沒有在我的上一個評論中,我不能編輯它,不;據我所知,每次操作只需一個電話。沒有像多查詢這樣的SQL。 – Sammaye

+0

謝謝Sammaye,MongoDb託管在另一臺服務器上。我不想節省大量的數據,但要打電話... – Cherven

回答

1

MongoDB的wire protocol針對每條消息的單個操作而設計,因此不支持將多個操作分組爲單個請求。唯一接近這個的是bulk insert,但這確實是一項需要多個文檔的操作。

在非分片MongoDB系統上,可以想象通過一個eval命令執行多個服務器端操作。這需要向MongoDB發送一個運行多個操作的JavaScript函數,然後將其結果填入單個結果中以返回。然而,我很難想出一個實際情況,那就是最好通過驅動程序發送多個請求(JS性能較差,存在併發問題等)。

相關問題