C# 4.0 如何在C#中查询MongoDB日期时间?

C# 4.0 如何在C#中查询MongoDB日期时间?,c#-4.0,mongodb,C# 4.0,Mongodb,我正在使用MongoDB和C#4.0。在MongoDB中,我将CreatedOn存储为日期时间,例如“2011-01-01T01:40:45.041Z”。在C#中,我使用的是MongoDB驱动程序,因此如何查询特定日期的数据库?到目前为止,我已经做了如下工作 var fileLogCollection = db.GetCollection<FileLog>(); Document selector = new Document(); selector["CreatedOn"] =da

我正在使用MongoDB和C#4.0。在MongoDB中,我将CreatedOn存储为日期时间,例如“2011-01-01T01:40:45.041Z”。在C#中,我使用的是MongoDB驱动程序,因此如何查询特定日期的数据库?到目前为止,我已经做了如下工作

var fileLogCollection = db.GetCollection<FileLog>();
Document selector = new Document();
selector["CreatedOn"] =dateTimePicker1.Value.Date; 
var all = fileLogCollection.Find(selector);
var fileLogCollection=db.GetCollection();
文档选择器=新文档();
选择器[“CreatedOn”]=dateTimePicker1.Value.Date;
var all=fileLogCollection.Find(选择器);

谢谢

您的示例代码看起来不像是在使用官方的C#驱动程序

使用官方的C#驱动程序,您可以编写如下内容:

var collection = database.GetCollection<FileLog>("logs");
var query = Query.EQ("CreatedOn", dateTimePicker1.Value.Date.ToUniversalTime());
foreach (var document in collection.FindAll(query)) {
    // process document
}
var collection=database.GetCollection(“日志”);
var query=query.EQ(“CreatedOn”,dateTimePicker1.Value.Date.ToUniversalTime());
foreach(collection.FindAll(查询)中的var文档){
//工艺文件
}
您还需要确保将CreatedOn值存储为真实的BSON DateTime值,而不是字符串


您还需要记住,日期时间值以毫秒分辨率存储在UTC中。

我使用以下方法查询数据库。你可以试一试

var date = DateTime.Parse("2012-12-12");    
var docs = _docs.asQueryable().Where(o=>o.CreatedOn >= date && o.CreatedOn < date.AddDays(1));
var date=DateTime.Parse(“2012-12-12”);
var docs=_docs.asQueryable()。其中(o=>o.CreatedOn>=date&&o.CreatedOn
你读过吗?是的,它不起作用。我确实读过,但没什么帮助。对不起,这是一个愚蠢的问题,我对这个问题一无所知。对任何事情都不熟悉并不能成为你做家庭作业的借口。再读一遍。@Sergio我不想粗鲁地重述你在第一个问题“那么,它行得通吗?”中问的是什么?是的,它行得通,我只是想随便问一下。别再像个痛苦的阿姨一样重播了。如果你不想重播,那就继续吧。那么,它是否有效呢?如果是,那么问题是什么?