C# MongoDB更新失败,没有错误о;R

C# MongoDB更新失败,没有错误о;R,c#,asp.net-mvc,mongodb,asp.net-web-api,mongodb-.net-driver,C#,Asp.net Mvc,Mongodb,Asp.net Web Api,Mongodb .net Driver,我正在ASP.NET MVC WebAPI控制器中使用最新的MongoDB-C驱动程序 我在呼叫时未收到错误: collection.Update(Query<T>.EQ(e => e.Id, entity.Id), MongoDB.Driver.Builders.Update<T>.Replace(entity), WriteConcern.Acknowledged) 然后我修改该对象并在运行第一段代码的WebAPI控制器上调用Post: collec

我正在ASP.NET MVC WebAPI控制器中使用最新的MongoDB-C驱动程序

我在呼叫时未收到错误:

collection.Update(Query<T>.EQ(e => e.Id, entity.Id), 
    MongoDB.Driver.Builders.Update<T>.Replace(entity), WriteConcern.Acknowledged)
然后我修改该对象并在运行第一段代码的WebAPI控制器上调用Post:

collection.Update(Query<T>.EQ(e => e.Id, entity.Id), 
    MongoDB.Driver.Builders.Update<T>.Replace(entity), WriteConcern.Acknowledged)
collection.Update(Query.EQ(e=>e.Id,entity.Id),
MongoDB.Driver.Builders.Update.Replace(实体),WriteConcern.conferenced)
然后更新成功

对不起,没有明确的问题:我做错什么了吗?有什么办法可以找出真正的失败是什么?有没有办法调试对MongoDB的调用

还有一条信息。我们正在Azure中使用MongoLab托管我们的MongoDB repo。

检查表中的文档(对象)结构,确保它与您发送给db进行更新的结构相匹配

我的更新Id匹配,但JSON结构不匹配。这导致更新以静默方式失败。不知道为什么会这样,但现在所有文档都使用相同的结构,编辑工作正常

旧文档结构(更新失败):

当前文档结构(更新成功:

{
    "_id": {
        "$oid": "54362a35ab9c2025287025d2"
    },
    "_t": [
        "ModelBase",
        "Player"
    ],
    "Name": "Name Changed: 12/17/2014 8:58:23 PM",
    "HomeTown": "Carlsbad",
    "Ratings": [],
    "PicturePath": ""
}

因此,查询匹配了一个文档,但文档结构不匹配。

您的问题是什么?听起来查询与文档不匹配。当我自己运行查询时,我会返回预期的数据。请注意,使用相同的Id而不使用托管解决方案时,所有操作都针对同一个mongoDB实例。是否存在任何问题调试这些内容的更好方法,而不仅仅是设置对变量的单独调用?同意,听起来查询与文档不匹配,可能是因为数据不是您期望的数据。当您在集合之前立即使用collection.Find()发出相同的查询时。Update()它是否也不返回任何文档?是否有可能由于不同环境中的配置差异,有时更新针对的数据库/集合与应用程序的其余部分不同?Find()返回预期的数据。MongoDB实例的我的sln中只有一个ConnectionString。无论它是托管的还是仅在UnitTest中使用,我们都使用相同的ConnectionString。这是我在这里发布之前排除的第一件事。
{
    "_id": "54361fb2ab9c1e1b04514731",
    "Name": "New Name: 10/8/2014 10:40:03 PM",
    "HomeTown": "Carlsbad",
    "Ratings": [],
    "IsArchived": false,
    "PicturePath": "",
    "MatchWins": 0,
    "MatchLosses": 0,
    "GameWins": 0,
    "GameLosses": 0,
    "TotalGames": 0,
    "Matches": [],
    "WebcamImage": null
}
{
    "_id": {
        "$oid": "54362a35ab9c2025287025d2"
    },
    "_t": [
        "ModelBase",
        "Player"
    ],
    "Name": "Name Changed: 12/17/2014 8:58:23 PM",
    "HomeTown": "Carlsbad",
    "Ratings": [],
    "PicturePath": ""
}