我想将数据插入到mongodb数据库中。它像一种魅力一样工作,但是我有一个集合,我无法在数据库中插入它,也不知道为什么。我实际上是一样的。
这在这里不起作用
public async Task AddVerifyAsync(VerifyModel verifyModel)
{
verifyModel.CreationDate = DateTime.Now;
await _context.Verifies().InsertOneAsync(verifyModel);
}
我多次检查它,运行调试模式,检查模型等,这都是绝对正确的。 这是返回集合的方法:
public IMongoCollection<VerifyModel> Verifies()
{
return _database.GetCollection<VerifyModel>("VerifyModel");
}
这些是有效的方法:
public async Task AddUserAsync(UserModel user)
{
await _context.Users().InsertOneAsync(user);
}
收集返回器与上面的相同,但其他类型相同。
我什至尝试删除DateTime东西。另外,在设置_id
方法之前,先设置AddVerifyAsync
。但是我什至尝试禁用它。
_context
是依赖项注入到构造函数中。
这是两种方法都可以使用的地方:
public async Task CreateUserAsync(UserModel user)
{
UserModel gotUser = await _userRepository.GetUserByEmailAsync(user.Email);
//check if exists
if (gotUser != null)
throw new DataException();
//set defaults and prevent, that the user tries to manipulate data
user.Active = false;
user.RegTimeStamp = DateTime.Now;
user.AdminLevel = 0;
user.OrganizationId = null;
user.OrganizationAdminLevel = null;
user.Password = BCrypt.Net.BCrypt.HashPassword(user.Password);
user.Balance = 0f;
user.ProfilePicture = "";
//Add the user to the repo
await _userRepository.AddUserAsync(user);
VerifyModel verifyModel = new VerifyModel();
verifyModel.UserId = user.Id;
verifyModel.Id = ObjectId.GenerateNewId().ToString();
//useractivation
verifyModel.Type = 0;
//insert the verifyuser in database
await _verifyRepository.AddVerifyAsync(verifyModel);
await _emailSenderService.SendMailAsync(user, EmailTemplate.RegisterMail, verifyModel.Id,
"Herzlich Willkommen bei flundr. Nur noch ein Schritt!", user.Email);
}
在这里,Verifymodel没有插入数据库中。