我在ASP.NET MVC WebAPI控制器中使用最新的MongoDB-C#驅動程序。Mongodb更新失敗,沒有錯誤
我沒有收到當我打電話的錯誤:
collection.Update(Query<T>.EQ(e => e.Id, entity.Id),
MongoDB.Driver.Builders.Update<T>.Replace(entity), WriteConcern.Acknowledged)
但受影響的文件報告數爲0
如果我直接對控制器運行單元測試(即它不是託管。或者在任何服務器下運行,只要在我的UnitTest中通過實例化控制器來處理它就像是一個普通的類),當我這樣做時,一切都按預期工作。
所以我只有這個問題,而我的網站託管。
更多:如果我創建一個新的對象,然後嘗試修改該創建的對象並調用上述代碼比更新成功。
示例:如果我打電話後我的WebAPI控制器上創建和運行這個代碼的對象:
MongoConnection.Collection.Insert(value, WriteConcern.Acknowledged)
然後我修改該對象,並調用張貼它運行的代碼的第一個塊我的WebAPI控制器上:
collection.Update(Query<T>.EQ(e => e.Id, entity.Id),
MongoDB.Driver.Builders.Update<T>.Replace(entity), WriteConcern.Acknowledged)
然後更新成功。
感謝您的幫助!
UPDATE 對不起缺乏明確的問題:我做錯了什麼?任何想法找出什麼是實際的失敗是?有沒有辦法調試到MongoDB的調用?
另一條信息。我們在Azure中使用MongoLab來託管我們的MongoDB回購。
你的問題是什麼? – i3arnon 2014-10-09 10:02:31
聽起來好像查詢不匹配文檔 – 2014-10-09 18:32:40
當我自己運行查詢時,我找回了預期的數據。請注意,使用相同的Id並且不使用託管解決方案,所有工作都針對相同的mongoDB實例。 有沒有更好的方法來調試這些東西,而不僅僅是設置單個調用變量? – dannydwarren 2014-10-11 14:48:47