Sebenarnya, ini tidak terlalu sederhana. Ini harus dimungkinkan dengan kueri seperti :
var users = collection.Find(user => user.LastModifiedAt > user.LastSyncedAt).ToList();
Tetapi sayangnya MongoDriver tidak dapat menerjemahkan ekspresi ini. Anda dapat menanyakan semua Pengguna dan memfilter di sisi klien:
var users = collection.Find(Builders<User>.Filter.Empty)
.ToEnumerable()
.Where(user => user.LastModifiedAt > user.LastSyncedAt)
.ToList();
Atau kirim permintaan json, karena MongoDb sendiri dapat melakukannya:
var jsonFliter = "{\"$where\" : \"this.LastModifiedAt>this.LastSyncedAt\"}";
var users = collection.Find(new JsonFilterDefinition<User>(jsonFliter))
.ToList();
Dan, ya, Anda memerlukan Id - Properti untuk kelas model Anda, saya belum menyebutkannya terlebih dahulu, karena saya pikir Anda memilikinya, hanya saja tidak diposting dalam pertanyaan.