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

ค้นหาวัตถุที่สร้างขึ้นในสัปดาห์ที่ผ่านมาใน MongoDB?


คุณสามารถใช้ Date() พร้อมกับตัวดำเนินการ $gte เพื่อค้นหาวัตถุที่สร้างขึ้นเมื่อสัปดาห์ที่แล้ว ที่นี่ curdate มีดังต่อไปนี้ในระบบของฉัน -

> new Date();
ISODate("2019-05-14T08:32:42.773Z")

ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.findObectInLastWeekDemo.insertOne({"ShippingDate":new ISODate("2019-05-01")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cda7dc4bf3115999ed511e0")
}
> db.findObectInLastWeekDemo.insertOne({"ShippingDate":new ISODate("2019-05-02")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cda7dc4bf3115999ed511e1")
}
> db.findObectInLastWeekDemo.insertOne({"ShippingDate":new ISODate("2019-05-08")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cda7dc4bf3115999ed511e2")
}
> db.findObectInLastWeekDemo.insertOne({"ShippingDate":new ISODate("2019-05-07")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cda7dc4bf3115999ed511e3")
}
> db.findObectInLastWeekDemo.insertOne({"ShippingDate":new ISODate("2019-05-09")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cda7dc4bf3115999ed511e4")
}
> db.findObectInLastWeekDemo.insertOne({"ShippingDate":new ISODate("2019-04-26")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cda7dc4bf3115999ed511e5")
}

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

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

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

{ "_id" : ObjectId("5cda7dc4bf3115999ed511e0"), "ShippingDate" : ISODate("2019-05-01T00:00:00Z") }
{ "_id" : ObjectId("5cda7dc4bf3115999ed511e1"), "ShippingDate" : ISODate("2019-05-02T00:00:00Z") }
{ "_id" : ObjectId("5cda7dc4bf3115999ed511e2"), "ShippingDate" : ISODate("2019-05-08T00:00:00Z") }
{ "_id" : ObjectId("5cda7dc4bf3115999ed511e3"), "ShippingDate" : ISODate("2019-05-07T00:00:00Z") }
{ "_id" : ObjectId("5cda7dc4bf3115999ed511e4"), "ShippingDate" : ISODate("2019-05-09T00:00:00Z") }
{ "_id" : ObjectId("5cda7dc4bf3115999ed511e5"), "ShippingDate" : ISODate("2019-04-26T00:00:00Z") }

นี่คือแบบสอบถามเพื่อค้นหาวัตถุที่สร้างขึ้นในสัปดาห์ที่ผ่านมาใน MongoDB -

> db.findObectInLastWeekDemo.find({ShippingDate:{$gte: new Date(new Date() - 7 * 60 * 60 * 24 * 1000)}});

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

{ "_id" : ObjectId("5cda7dc4bf3115999ed511e2"), "ShippingDate" : ISODate("2019-05-08T00:00:00Z") }
{ "_id" : ObjectId("5cda7dc4bf3115999ed511e4"), "ShippingDate" : ISODate("2019-05-09T00:00:00Z") }