MongoDB C#查询小于当前时间的时间戳

MongoDB C#查询小于当前时间的时间戳,c#,mongodb,C#,Mongodb,我试图从id=1且创建日期小于当前时间的集合中返回文档 我试过这个,但不起作用: var collection = database.GetCollection("test"); var time = DateTime.Now; var query2 = new QueryDocument { { "id", 1}, {{"created_on", {"$lt",time}} }; 此查询有什么问题?您需要为$lt子对象创建一个嵌入式文档,但您忘记了创建它: var quer

我试图从id=1且创建日期小于当前时间的集合中返回文档

我试过这个,但不起作用:

var collection = database.GetCollection("test");   
var time = DateTime.Now;
var query2 = new QueryDocument
{
   { "id", 1},
   {{"created_on", {"$lt",time}}
};

此查询有什么问题?

您需要为
$lt
子对象创建一个嵌入式文档,但您忘记了创建它:

var query = new QueryDocument {
  { "id", 1 },
  { "created_on", new BsonDocument { { "$lt", time } } }
}

也考虑使用<代码>查询> /Cuilder Builder,这可能会使事情变得简单:

var query = Query.And(
  Query.EQ("id", 1),
  Query.LT("created_on", time)
);

从mongo shell看,你在时间中的日期是什么样子的?它们是以ISODate(…)或其他形式出现的吗?很高兴将此添加到您的问题中。您的问题标题是关于使用“gt”,而代码使用的是
“$lt”
?什么类型的
数据库