如何在 MongoDB 中找到在指定日期之前建立的所有物件?
你可以使用 $lt 運算子來實現此目的。讓我們建立一個包含文件的集合 -
> db.beforeSpecifyDateDemo.insertOne({"UserLoginDate":new ISODate('2016-03-21')}); { "acknowledged" : true, "insertedId" : ObjectId("5cbd91e4de8cc557214c0e0d") } > db.beforeSpecifyDateDemo.insertOne({"UserLoginDate":new ISODate('2016-05-11')}); { "acknowledged" : true, "insertedId" : ObjectId("5cbd91ecde8cc557214c0e0e") } > db.beforeSpecifyDateDemo.insertOne({"UserLoginDate":new ISODate('2017-01-31')}); { "acknowledged" : true, "insertedId" : ObjectId("5cbd91f9de8cc557214c0e0f") } > db.beforeSpecifyDateDemo.insertOne({"UserLoginDate":new ISODate('2018-05-15')}); { "acknowledged" : true, "insertedId" : ObjectId("5cbd9206de8cc557214c0e10") } > db.beforeSpecifyDateDemo.insertOne({"UserLoginDate":new ISODate('2019-04-01')}); { "acknowledged" : true, "insertedId" : ObjectId("5cbd9211de8cc557214c0e11") }
使用 find() 方法顯示集合中的所有文件。查詢如下 -
> db.beforeSpecifyDateDemo.find().pretty();
這將產生以下輸出 -
{ "_id" : ObjectId("5cbd91e4de8cc557214c0e0d"), "UserLoginDate" : ISODate("2016-03-21T00:00:00Z") } { "_id" : ObjectId("5cbd91ecde8cc557214c0e0e"), "UserLoginDate" : ISODate("2016-05-11T00:00:00Z") } { "_id" : ObjectId("5cbd91f9de8cc557214c0e0f"), "UserLoginDate" : ISODate("2017-01-31T00:00:00Z") } { "_id" : ObjectId("5cbd9206de8cc557214c0e10"), "UserLoginDate" : ISODate("2018-05-15T00:00:00Z") } { "_id" : ObjectId("5cbd9211de8cc557214c0e11"), "UserLoginDate" : ISODate("2019-04-01T00:00:00Z") }
以下是查詢在指定日期之前建立的所有物件的查詢 -
> db.beforeSpecifyDateDemo.find({UserLoginDate: { "$lt": ISODate("2017-01-31") }});
這將產生以下輸出 -
{ "_id" : ObjectId("5cbd91e4de8cc557214c0e0d"), "UserLoginDate" : ISODate("2016-03-21T00:00:00Z") } { "_id" : ObjectId("5cbd91ecde8cc557214c0e0e"), "UserLoginDate" : ISODate("2016-05-11T00:00:00Z") }
廣告