我试图按确切的日期时间查找文档,但计数为 0。 这是我的模型:
public class CubeDataModel
{
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string _id { get; set; }
...
public DateTime DateEnd { get; set; }
...
}
这就是我正在尝试做的:
private readonly IConfiguration _configuration;
private readonly ILogger<UpdateController> _logger;
public UpdateController(IConfiguration configuration, ILogger<UpdateController> logger)
{
_configuration = configuration;
_logger = logger;
}
[HttpPost]
public ActionResult<CubeDataModel> AddCubeData(string url){
var connectingString = _configuration.GetSection("MongoDB").GetValue<string>("MongoDBString");
var database = _configuration.GetSection("MongoDB").GetValue<string>("MongoDBDatabase");
var collectionName = _configuration.GetSection("MongoDB").GetValue<string>("MongoDBCollection");
var mongodb = getDatabase(connectingString, database).GetCollection<CubeDataModel>(collectionName);
...
string dateString = "15.04.2023";
var docDate = DateTime.ParseExact(dateString, "dd.MM.yyyy" ,null).AddHours(6);
var prev = mongodb.Find<CubeDataModel>(x => x.DateEnd > docDate && x.DateEnd < docDate.AddDays(1)).ToList();
var exact = mongodb.Find<CubeDataModel>(x => x.DateEnd == docDate).ToList();
}
在 debug 模式下我观察了这些变量:
我正在尝试在 DateEnd 之前获取该文档,我不知道如何准确找到我的解决方案,所以如果我的问题重复,您可以发送链接吗?
版本:
这是由于
Kind
未设置所致;我通过添加以下代码解决了这个问题:
docDate = DateTime.SpecifyKind(docDate, DateTimeKind.Utc);
这是因为您没有指定时区