c# - 使用 C# 查询日期时间的 MongoDb 查询

标签 c# mongodb

我正在使用 C# 驱动程序开发 MongoDb。我想查询 mongoDb 数据库以找出 EventDate 从今天起超过 13 个月的行。

我的 MongoDb 具有类似于以下的结构:

EventDate 的数据类型为:DateTime

{
   "_id" : ObjectId("525239e3e9374f1c3ce4123b"),
   "RowId" : 41133552,
   "EventDate" : ISODate("2013-08-19T00:00:28Z"),
   "Product" : "supporttool",
   "Language" : "en",
   "GUID" : "67cd73d4-36bc-4c9f-9a4c-144b38d4e928",
}

谁能帮我获取事件日期超过 13 个月的数据的 MongoCollection。

最佳答案

有不止一种方法,但这是使用 LINQ 扩展方法语法的方法:

MongoDatabase db = YourMongoDatabaseObject;
var cursor = db.GetCollection<YourClass>("yourClass").Find(
   Query<YourClass>.LT(p => p.EventDate, DateTime.UtcNow.AddMonths(-13));

这会将游标返回到 "yourClass" 集合中的所有文档,这些文档的 EventDate 小于 13 个月前,并将它们反序列化为 你的类(class)

关于c# - 使用 C# 查询日期时间的 MongoDb 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19217272/

相关文章:

c# - 在 C# XML 中解析 XML 以获取特定内容

C# .NET - 以最小延迟发送大量小消息(通过网络)

c# - 使用 protobuf-net 进行质量过滤

node.js - Mongoose 错误 - 使用这些参数调用时,必须在 where() 之后使用 elemMatch()

java - MongoDB 检查插入

javascript - SimpleSchema 错误 : After filtering out keys not in the schema, 您的修饰符现在为空

java - MongoCommandException : Command failed with error 8000 (AtlasError): 'no SNI name sent, make sure using a MongoDB 3.4+ driver/shell.'

c# - 查找 n 级嵌套子文档 MongoDB

c# - 在 ASP.NET 中调用远程 Web 服务

python - 我如何使用 python 使用变量进行 mongodb 查询(或 find())?