実際、それはそれほど単純ではありません。これは、:
などのクエリで可能になるはずです。var users = collection.Find(user => user.LastModifiedAt > user.LastSyncedAt).ToList();
しかし、残念ながら、MongoDriverはこの式を変換できませんでした。すべてのユーザーにクエリを実行し、クライアント側でフィルタリングすることができます。
var users = collection.Find(Builders<User>.Filter.Empty)
.ToEnumerable()
.Where(user => user.LastModifiedAt > user.LastSyncedAt)
.ToList();
または、MongoDb自体が実行できるため、jsonクエリを送信します。
var jsonFliter = "{\"$where\" : \"this.LastModifiedAt>this.LastSyncedAt\"}";
var users = collection.Find(new JsonFilterDefinition<User>(jsonFliter))
.ToList();
そして、はい、Id-プロパティが必要です。モデルクラスのプロパティです。最初に言及していません。質問に投稿されていないのに、Idプロパティがあると思ったからです。