Mongodb: วิธีจัดเรียงเอกสารตามวันที่


คุณสามารถใช้วิธีการต่อไปนี้เพื่อจัดเรียงเอกสารตามฟิลด์วันที่ใน MongoDB:

วิธีที่ 1: จัดเรียงตามวันที่จากน้อยไปมาก

 db.sales.find().sort({" date_field ": 1 })

วิธีที่ 2: จัดเรียงตามวันที่จากมากไปน้อย

 db.sales.find().sort({" date_field ": -1 }) 

ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละวิธีกับ การขาย คอลเลกชันพร้อมเอกสารต่อไปนี้:

 db.sales.insertOne({day: new Date(" 2020-01-20 "), amount: 40 })
db.sales.insertOne({day: new Date(" 2020-01-21 "), amount: 32 })
db.sales.insertOne({day: new Date(" 2020-01-22 "), amount: 19 })
db.sales.insertOne({day: new Date(" 2020-01-23 "), amount: 29 })
db.sales.insertOne({day: new Date(" 2020-01-24 "), amount: 35 })

ตัวอย่างที่ 1: เรียงลำดับตามวันที่จากน้อยไปหามาก

เราสามารถใช้รหัสต่อไปนี้เพื่อจัดเรียงเอกสารทั้งหมดตามวันที่และเรียงลำดับจากน้อยไปหามาก:

 db.sales.find().sort({" day ": 1 }) 

แบบสอบถามนี้ส่งกลับผลลัพธ์ต่อไปนี้:

 { _id: ObjectId("6189401696cd2ba58ce928fa"),
  day: 2020-01-20T00:00:00.000Z,
  amount: 40 }

{ _id: ObjectId("6189401696cd2ba58ce928fb"),
  day: 2020-01-21T00:00:00.000Z,
  amount: 32 }

{ _id: ObjectId("6189401696cd2ba58ce928fc"),
  day: 2020-01-22T00:00:00.000Z,
  amount: 19 }

{ _id: ObjectId("6189401696cd2ba58ce928fd"),
  day: 2020-01-23T00:00:00.000Z,
  amount: 29 }

{ _id: ObjectId("6189401696cd2ba58ce928fe"),
  day: 2020-01-24T00:00:00.000Z,
  amount: 35 }

โปรดทราบว่าเอกสารที่มีวันที่เก่าที่สุด (2020-01-20) จะปรากฏก่อน ในขณะที่เอกสารที่มีวันที่ล่าสุด (2020-01-24) จะปรากฏสุดท้าย

ตัวอย่างที่ 2: จัดเรียงตามวันที่จากมากไปน้อย

เราสามารถใช้รหัสต่อไปนี้เพื่อจัดเรียงเอกสารทั้งหมดตามวันที่จากมากไปน้อย:

 db.sales.find().sort({" day ": -1 }) 

แบบสอบถามนี้ส่งกลับผลลัพธ์ต่อไปนี้:

 { _id: ObjectId("6189401696cd2ba58ce928fe"),
  day: 2020-01-24T00:00:00.000Z,
  amount: 35 }

{ _id: ObjectId("6189401696cd2ba58ce928fd"),
  day: 2020-01-23T00:00:00.000Z,
  amount: 29 }

{ _id: ObjectId("6189401696cd2ba58ce928fc"),
  day: 2020-01-22T00:00:00.000Z,
  amount: 19 }

{ _id: ObjectId("6189401696cd2ba58ce928fb"),
  day: 2020-01-21T00:00:00.000Z,
  amount: 32 }

{ _id: ObjectId("6189401696cd2ba58ce928fa"),
  day: 2020-01-20T00:00:00.000Z,
  amount: 40 }

โปรดทราบว่าเอกสารที่มีวันที่ล่าสุด (2020-01-24) จะปรากฏก่อน ในขณะที่เอกสารที่มีวันที่เก่าที่สุด (2020-01-20) จะปรากฏสุดท้าย

หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับเต็มสำหรับฟังก์ชัน การเรียงลำดับ ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน MongoDB:

MongoDB: วิธีเพิ่มฟิลด์ใหม่
MongoDB: วิธีลบฟิลด์
MongoDB: วิธีจัดกลุ่มตามและนับ
MongoDB: วิธีจัดกลุ่มตามหลายฟิลด์

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *