Я использую последний драйвер MongoDB-C# в контроллере ASP.NET MVC WebAPI.Обновление Mongodb с ошибкой
Я не получаю сообщение об ошибке, когда я называю:
collection.Update(Query<T>.EQ(e => e.Id, entity.Id),
MongoDB.Driver.Builders.Update<T>.Replace(entity), WriteConcern.Acknowledged)
Но заявленное количество документов, изменяемого 0.
Если я бег UnitTest непосредственно против контроллера (т.е. он не принимал. или работать под любым сервером. Просто рассматривайте его как обычный класс, создавая экземпляр контроллера в моем 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)
Затем обновление завершается успешно.
Спасибо за помощь!
ОБНОВЛЕНИЕ Извините за отсутствие явного вопроса: Я что-то не так? Какие-нибудь идеи для выяснения того, что происходит с реальным провалом? Есть ли способ отладки вызовов в MongoDB?
Еще одна информация. Мы используем MongoLab в Azure для проведения нашего репо MongoDB.
Каков ваш вопрос? – i3arnon
Похоже, что запрос не соответствует документу. –
Когда я запускаю запрос самостоятельно, я возвращаю ожидаемые данные. обратите внимание, что с использованием одного и того же идентификатора и без использования размещенного решения все работает против одного экземпляра mongoDB. Есть ли лучший способ отладить этот материал, чем просто установить индивидуальные вызовы переменных? – dannydwarren