Драйвер C # MongoDB .NET DateDiff Два поля даты в документе - PullRequest
0 голосов
/ 17 января 2019

Мне нужно запросить коллекцию MongoDB, где разница дат между двумя полями даты в каждом документе равна 1 дню.

Я пытался использовать MongoDB.Driver.Builders, используя Where или Eq FilterDefinitions, но не могу заставить его работать. Есть ли способ сделать это? Если так, есть ли способ исключить часть времени, чтобы я просто получал разницу между двумя датами?

Вот код, который у меня есть:

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(); 
...