I’m obviously missing something very obvious. Why doesn’t this query return the records where time1 < time2?
db.dtest4.insertMany([{
"time1" : ISODate("2021-01-23T23:05:36.910Z"),
"time2" : ISODate("2021-01-24T00:05:48.339Z")
}
,{
"time1" : ISODate("2021-01-26T20:03:13.344Z"),
"time2" : ISODate("2021-01-24T00:05:48.339Z")
}
,{
"time1" : ISODate("2021-01-23T23:05:49.339Z"),
"time2" : ISODate("2021-01-24T00:05:48.339Z")
}
,{
"time1" : ISODate("2021-01-23T23:04:12.710Z"),
"time2" : ISODate("2021-01-24T00:05:48.339Z")
}
,{
"time1" : ISODate("2021-01-24T01:26:58.906Z"),
"time2" : ISODate("2021-01-24T00:05:48.339Z")
}]);
db.dtest4.find({time1: {"$lt": "$time2"}});
Returns:
/* 1 */
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("60117e8292324b130b58f5f1"),
ObjectId("60117e8292324b130b58f5f2"),
ObjectId("60117e8292324b130b58f5f3"),
ObjectId("60117e8292324b130b58f5f4"),
ObjectId("60117e8292324b130b58f5f5")
]
}
Fetched 0 record(s) in 3ms