我需要查询一个MongoDB集合,其中每个文档中两个日期字段之间的日期差等于1天。
我尝试使用Where
或Eq
FilterDefinitions使用MongoDB.Driver.Builders,但无法使其正常工作。有没有办法做到这一点?如果是这样,有没有一种方法可以排除时间部分,所以我只是得到两个日期之间的差值?
这是我的代码:
var client = new MongoClient("mongodb://localhost:27017");
var database = client.GetDatabase("local");
var collection = database.GetCollection<BsonDocument>("testCollection");
var builder = Builders<BsonDocument>.Filter;
var filter = builder.Exists("{$cond:[{$gte:[{$divide:[{$subtract:[DateField1,DateField2]},1000*60*60*24]},1]}]}");
var documents = collection.Find(filter).ToList();