我在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