Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

รับเอกสารหมดอายุก่อนวันนี้ใน MongoDB?


คุณสามารถใช้ตัวดำเนินการ $lte ร่วมกับ Date() สำหรับสิ่งนี้ ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน ที่นี่เราได้กำหนดวันที่ 2019-05-11 ซึ่งเป็นวันที่ปัจจุบัน -

> db.getDocumentsExpiredDemo.insertOne({"ArrivalDate":new ISODate("2019-05-11")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd563b17924bb85b3f4893b")
}
> db.getDocumentsExpiredDemo.insertOne({"ArrivalDate":new ISODate("2019-01-01")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd563bf7924bb85b3f4893c")
}
> db.getDocumentsExpiredDemo.insertOne({"ArrivalDate":new ISODate("2019-05-10")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd563ca7924bb85b3f4893d")
}
> db.getDocumentsExpiredDemo.insertOne({"ArrivalDate":new ISODate("2019-02-01")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd563e77924bb85b3f4893e")
}

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -

> db.getDocumentsExpiredDemo.find().pretty();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{
   "_id" : ObjectId("5cd563b17924bb85b3f4893b"),
   "ArrivalDate" : ISODate("2019-05-11T00:00:00Z")
}
{
   "_id" : ObjectId("5cd563bf7924bb85b3f4893c"),
   "ArrivalDate" : ISODate("2019-01-01T00:00:00Z")
}
{
   "_id" : ObjectId("5cd563ca7924bb85b3f4893d"),
   "ArrivalDate" : ISODate("2019-05-10T00:00:00Z")
}
{
   "_id" : ObjectId("5cd563e77924bb85b3f4893e"),
   "ArrivalDate" : ISODate("2019-02-01T00:00:00Z")
}

ต่อไปนี้เป็นแบบสอบถามเพื่อให้เอกสารหมดอายุก่อนวันนี้ใน MongoDB -

> db.getDocumentsExpiredDemo.find({ "ArrivalDate": { $lte : new Date()}});

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5cd563bf7924bb85b3f4893c"), "ArrivalDate" : ISODate("2019-01-01T00:00:00Z") }
{ "_id" : ObjectId("5cd563ca7924bb85b3f4893d"), "ArrivalDate" : ISODate("2019-05-10T00:00:00Z") }
{ "_id" : ObjectId("5cd563e77924bb85b3f4893e"), "ArrivalDate" : ISODate("2019-02-01T00:00:00Z") }