Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Truy vấn MongoDB tìm record ngày chỉ theo Tháng và Ngày

Sử dụng $where với hàm JavaScript getMonth() và getDate() để lọc theo tháng/ngày bỏ qua năm. Tạo collection:

> db.demo181.insertOne({ "ShippingDate": new ISODate("2020-01-10") });
{ "acknowledged": true, "insertedId": ObjectId("5e398a699e4f06af551997fe") }
> db.demo181.insertOne({ "ShippingDate": new ISODate("2019-12-11") });
{ "acknowledged": true, "insertedId": ObjectId("5e398a729e4f06af551997ff") }
> db.demo181.insertOne({ "ShippingDate": new ISODate("2018-01-10") });
{ "acknowledged": true, "insertedId": ObjectId("5e398a7d9e4f06af55199800") }
> db.demo181.insertOne({ "ShippingDate": new ISODate("2020-10-12") });
{ "acknowledged": true, "insertedId": ObjectId("5e398a879e4f06af55199801") }

Hiển thị document.

Truy vấn tìm tháng = 1 (Tháng 2, vì 0-based) HOẶC ngày = 10:

> db.demo181.find({
  $where: function() {
    return this.ShippingDate.getMonth() == 1 || this.ShippingDate.getDate() == 10;
  }
})

Kết quả (2 document khớp):

{
  "_id": ObjectId("5e398a699e4f06af551997fe"),
  "ShippingDate": ISODate("2020-01-10T00:00:00Z")
}
{
  "_id": ObjectId("5e398a7d9e4f06af55199800"),
  "ShippingDate": ISODate("2018-01-10T00:00:00Z")
}