Я закончил тем, что сделал:
var client = new MongoClient(DBString);
var database = client.GetDatabase("UserLists");
var collection = database.GetCollection<UserObject>(Convert.ToString(GuildId));
var filter = Builders<UserObject>.Filter.Eq(s => s.Username, newUserName);
var UpdatedUserObject = new UserObject
{
UserID = UserId,
Username = newUserName,
CharClass = newCharClass,
CharLevel = newCharLevel,
CharColour = newCharColour
};
collection.ReplaceOne(filter, UpdatedUserObject);
Из-за этого возникла проблема с попыткой обновить _id, поэтому я использовал переполнение стека, чтобы поместить в него [BsonIgnoreIfDefault], чтобы он не пытался обновить:
Невозможно использовать BsonIgnoreIfDefault для свойства типа long
public class UserObject
{
[BsonIgnoreIfDefault]
public ObjectId _id { get; set; }// Self generated
public ulong UserID { get; set; } // Self generated
public string Username { get; set; }
public string CharClass{ get; set; }
public int CharLevel { get; set; }
public int CharColour { get; set; }
}
После того, как это было исправлено, я обнаружил, что проблема заключалась в том, что я проходил через неправильное имя пользователя, поэтому оно никогда не соответствовало и поэтому не нашло ничего для обновления, просто я действительно глуп, спасибо за помощь