我試圖設置一堆字段到當前值和新值之間的最大值。
,我覺得這樣做
UpdateBuilder<ADocument> update = Update<ADocument>
.SetMax (d => d.HighScore, highScore)
.SetMax (d => d.MaxGameTime, gameTime)
.SetMax (d => d.MaxLevels, levels);
等。但沒有.SetMax,或根本沒有。最大 - 這將使用$最大的關鍵字來進行設置。
那麼,你如何做到這一點?我不想創建3個查詢(在我的實例中是6個)來查詢Max highScore,並將其設置爲.GE,並對每個其他字段進行重複。
感謝
你需要https://github.com/mongodb/mongo-csharp-driver/blob/master/src/MongoDB。驅動程序/ MongoCursor.cs#L461-L466 –
2.6中有一個$ max操作符用於更新。由於它是一個新的操作符,因此您必須使用最新版本的C#驅動程序才能使用@MatijaGrcic正確指出的SetMax。 –
看起來像數據庫是2.4.9 - 所以我認爲這意味着它不被支持?我們正在運行C#驅動程序的1.8.3.9。所以我們需要更新才能完成這項工作? –