我的程序没有更新mongodb

本文关键字:更新 mongodb 程序 我的 | 更新日期: 2023-09-27 18:03:44

我是新的MVC。我正在做一个程序,在mongodb中编辑现有记录。我的程序没有更新记录。

这是编辑方法:

[HttpPost]
public async Task<ActionResult> Edit(BioCardModel model)
{
    await _bioCardServices.UpdateBioCard( model.cardId ,model);
    return RedirectToAction("Index");
} 

这个方法更新数据库中的记录

public async Task UpdateBioCard(Guid value, [FromBody]BioCardModel card)
{
    var db = ConnectToMongo();
    var collection = db.GetCollection<BioCardModel>(_collection);
    var filter = Builders<BioCardModel>.Filter.Eq("cardId", value);
    var update = Builders<BioCardModel>.Update
        .Set(b => b.name, card.name)
        .Set(b => b.firstName, card.firstName)
        .Set(b => b.lastName, card.lastName)
        .Set(b => b.title, card.title)
        .Set(b => b.lifeSpan, card.lifeSpan)
        .Set(b => b.bio, card.bio)
        .Set(b => b.bio, card.anecdote)
        .Set(b => b.imageFront, card.imageFront)
        .Set(b => b.imageBack, card.imageBack);
    await collection.UpdateOneAsync(filter, update);
}

我的视图是一个用记录数据填充的简单表单。

我的程序没有更新mongodb

看起来这篇文章缺少视图代码,但我猜你的视图不包含你的模型的所有必要字段。确保将所有想要包含在帖子中的字段渲染到视图中。

您可以使用隐藏字段将主键输出到表单中,以确保将其发送回服务器。这里有一个很好的链接,可以解释ASP中隐藏字段之间的区别。净MVC

Html和Html的区别是什么?隐藏和Html。HiddenFor