Asp.net mvc 更新我的数据库-失败

Asp.net mvc 更新我的数据库-失败,asp.net-mvc,mongodb,Asp.net Mvc,Mongodb,更新:我调试了几次,似乎“UpdateUserDetails”函数还可以,但我认为问题出在这一行(在UpdateUser函数中): 我认为故障在“过滤器”内 提前感谢“我一直失败”是什么意思?你出错了?或者它永远不会更新?你做了什么来调查这件事?不清楚你想说什么,请澄清细节无误。它不会用新的详细信息更新用户。我尝试了各种方法来找出问题所在。。我认为问题出在“过滤器”中,但我不知道如何解决。您是否设置了断点以在代码运行时评估变量的内容,并检查所需的代码是否实际以预期的变量值执行?如果是这样,而你仍

更新:我调试了几次,似乎“UpdateUserDetails”函数还可以,但我认为问题出在这一行(在UpdateUser函数中):

我认为故障在“过滤器”内


提前感谢

“我一直失败”是什么意思?你出错了?或者它永远不会更新?你做了什么来调查这件事?不清楚你想说什么,请澄清细节无误。它不会用新的详细信息更新用户。我尝试了各种方法来找出问题所在。。我认为问题出在“过滤器”中,但我不知道如何解决。您是否设置了断点以在代码运行时评估变量的内容,并检查所需的代码是否实际以预期的变量值执行?如果是这样,而你仍然不确定该怎么办,请编辑问题以确认你发现了什么,并提供样本数据。我更新了一些资料,我希望这会让mroe感觉良好,因此你认为你找到了问题所在……因此,正如我所问的,请验证数据。运行代码时,
input.ID
的值是否设置为预期值?你什么都没提。这是要检查的第一件事。
var filter = Builders<User>.Filter.Eq("ID", input.ID);
[HttpPost]
    public ActionResult UpdateUser(User input)
    {
        // var a = input.ID;
        var filter = Builders<User>.Filter.Eq("ID", input.ID);
        var update = Builders<User>.Update
        .Set("FirstName", input.FirstName)
        .Set("LastName", input.LastName)
        .Set("Phone", input.Phone)
        .Set("Email", input.Email)
        .Set("Password", input.Password)
        .Set("Permission", input.Permission);
        DBManager.UpdateUserDetails(filter, update);
        ViewBag.Update = "Update successful";
        return RedirectToAction("UsersList");
    }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MongoDB.Driver;
using MongoDB.Bson;
using MongoDB.Driver.Linq;
using SurffingSite.Models;



namespace SurffingSite.DB
{
    public class DBManager
    {
        static MongoClient client;
        static IMongoDatabase DB;
        // Constractor
        static DBManager()
        {
            client = new MongoClient("mongodb://localhost:27017");
            DB = client.GetDatabase("HELLOSTACKOVERFLOW");
        }
        // Method to get list of all users//
        public static IMongoCollection<User> GetUsersCollection()
        {
            var collection = DB.GetCollection<User>("User");
            return collection;
        }

        internal static object GetCollection<T>(string v)
        {
            throw new NotImplementedException();
        }

                                           //User Method  //

        // Method for adding new user
        public static void AddNewUser(User user)
        {
            var collection = DB.GetCollection<User>("User");
            collection.InsertOne(user);
        }
        //Get user email.
        public static User GetUserEmail(User input)
        {
            User email = DBManager.GetUsersCollection().Find(user => user.Email == input.Email).FirstOrDefault();
            return email;
        }

        //Get user passsword.
        public static User GetUserPassword(User input)
        {
            User password = DBManager.GetUsersCollection().Find(user => user.Password == input.Password).FirstOrDefault();
            return password;
        }
        //User login verification 
        public static User UserVerification(User input)
        {
            // try get user by email
            // if user exist than check if the password is correct if not than return null
            User UseVar = DBManager.GetUserEmail(input);
            if (UseVar != null && UseVar.Password == input.Password)
            {
                return UseVar;
            }
            return null;
        }
        //Update User details
        public static void UpdateUserDetails(FilterDefinition<User> filter, UpdateDefinition<User> update)
        {
            var collection = DB.GetCollection<User>("User");
            collection.UpdateOne(filter, update);
        }

        //Products Method's//

        // Adding product into DB
        public static void AddProduct(Products product)
        {
            var collection = DB.GetCollection<Products>("Products");
            collection.InsertOne(product);
        }
        public static IMongoCollection<Products> GetProductsCollection()
        {
            var collection = DB.GetCollection<Products>("Products");
            return collection;
        }
        // Find product in DB by ID
        public static Products FindProductsById(Products input)
        {
            Products searchedProd = DB.GetCollection<Products>("Products").Find(product => product.Id == input.Id).FirstOrDefault();
            return searchedProd;
        }
        //Update product
        public static void UpdateDetails(FilterDefinition<Products> filter, UpdateDefinition<Products> update)
        {
            var collection = DB.GetCollection<Products>("Products");
            collection.UpdateOne(filter, update);

        }

                                          //Orders//

        // This method will return all exist orders 
        public static IMongoCollection<Orders> GetOrdersCollection()
        {
            var collection = DB.GetCollection<Orders>("Orders");
            return collection;
        }
        //Place an new order
        public static void AddOrder(Orders order)
        {
            var collection = DB.GetCollection<Orders>("Orders");
            collection.InsertOne(order);
        }
        // Search for all user orders
        public static List<Orders> FindUserOrders(User user)
        {
            List<Orders> searchedorders = DB.GetCollection<Orders>("Orders")
                .Find(order => order.User.ID == user.ID).ToList<Orders>();
            return searchedorders;
        }
    }
}
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace SurffingSite.Models
{
    public class User
    {
        [Required]
        [BsonId]
        public ObjectId ID { get; set; }

        [BsonElement("FirstName")]
        public String FirstName { get; set; }
        [BsonElement("LastName")]
        public String LastName { get; set; }
        [BsonElement("Phone")]
        public String Phone { get; set; }
        [BsonElement("Email")]
        public String Email { get; set; }
        [BsonElement("Password")]
        public String Password { get; set; }
        [BsonElement("Permission")]
        public string Permission { get; set; }
    }
}