mongodb - .Net 核心与 Mongodb
问题描述
我是 mongodb 的新手,我正在尝试使用 mongodb shell 将数据插入到我的集合中
用户.cs
public class User
{
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }
[BsonElement("userName")]
public string? UserName { get; set; }
[BsonElement("workDay")]
public IEnumerable<WorkDay>? WorkDay { get; set; }
[BsonElement("emailAddress")]
public string? EmailAddress { get; set; }
[BsonElement("sendEventsOutsideWorkHours")]
public bool? SendEventsOutsideWorkHours { get; set; }
[BsonElement("sendReportOutsideWorkHours")]
public bool? SendReportsOutsideWorkHours { get; set; }
[BsonElement("timeZoneOffset")]
public int? TimeZoneOffset { get; set; }
}
工作日.cs
public class WorkDay
[BsonElement("dayOfWeek")]
public DayOfWeek DayOfWeek { get; set; }
[BsonElement("startTime")]
public WorkDayBoundary _StartTime { get; set; }
public TimeSpan StartTime
{
get
{
return new TimeSpan(_StartTime.Hours, _StartTime.Minutes, 0);
}
}
[BsonElement("endTime")]
public WorkDayBoundary _EndTime { get; set; }
public TimeSpan EndTime
{
get
{
return new TimeSpan(_EndTime.Hours, _EndTime.Minutes, 0);
}
}
}
public class WorkDayBoundary
{
[BsonElement("hours")]
public int Hours { get; set; }
[BsonElement("minutes")]
public int Minutes { get; set; }
}
这是我在 mongodb shell 中的代码
db.Users.insertMany([{
'userName': 'Testing123',
'workDay': {
'dayOfWeek': 0,
'startTime': { 'hours': 5, 'minutes': 23 },
'endTime': { 'hours': 5, 'minutes': 23 }
},
'emailAddress': 'thisismymail@email.com',
'sendEventsOutsideWorkHours': 1,
'sendReportOutsideWorkHours': 1,
'timeZoneOffset': 5.00
},
{
'userName': 'Something999',
'workDay': {
'dayOfWeek': 1,
'startTime': { 'hours': 1, 'minutes': 55 },
'endTime': { 'hours': 10, 'minutes': 33 }
},
'emailAddress': 'somethingas@email@email.com',
'sendEventsOutsideWorkHours': 0,
'sendReportOutsideWorkHours': 0,
'timeZoneOffset': 2.00
}
])
并且在执行.netcore application
时抛出异常
"FormatException: Cannot deserialize a 'List<WorkDay>' from BsonType 'Document'."
解决方案
推荐阅读
- swift - 如何更改此“布尔”,然后在其他地方使用更新后的值?
- objective-c - 在 macOS 包中添加自定义插件时,如何使其遵循操作系统的外观设置?
- reactjs - React Native:PanGestureHandler 在更改状态后中断
- python - python导入错误:部分初始化的模块'aiohttp'没有属性
- python - 使用 Cloud Vision 进行实时动态摄像头文本检测
- oracle - Oracle Deadlock 资源名称解读
- sharedpreferences - 颤振:字符串未传递给“saveName”。如果你能告诉我怎么做,我将不胜感激
- google-app-engine - 设置 GOOGLE_APPLICATION_CREDENTIALS=[PATH] 后的部署问题
- php - WordPress。如何在 taxonomy.php 中获取多个自定义 post_type 总帖子数?
- docker - 如何在 kubernetes 执行器中为 gitlab 服务的日志启用调试级别