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

ค้นหาจำนวนผู้ใช้ที่เข้าสู่ระบบระหว่างวันที่ระบุด้วย MongoDB


สมมติว่าคุณได้บันทึกวันที่เข้าสู่ระบบของผู้ใช้ ตอนนี้ คุณต้องการให้ผู้ใช้ที่เข้าสู่ระบบระหว่างวันที่ระบุ เช่น วันที่เข้าสู่ระบบ สำหรับสิ่งนี้ ให้ใช้ตัวดำเนินการ $gte และ $lt พร้อมกับ count() ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.findDataByDateDateDemo.insertOne({"UserName":"John","UserLoginDate":new ISODate("2019-01-31")});{ "รับทราบ" :จริง "insertedId" :ObjectId( "5cdd8cd7bf3115999ed511ed")}> db.findDataByDateDateDemo.insertOne({"UserName":"Larry","UserLoginDate":new ISODate("2019-02-01")});{ "acknowledged" :true, "insertedId" :ObjectId("5cdd8ce7bf3115999ed511ee")}> db.findDataByDateDateDemo.insertOne({"UserName":"Sam","UserLoginDate":new ISODate("2019-05-02")});{ "acknowledged" :true, "insertedId" " :ObjectId("5cdd8cf3bf3115999ed511ef")}> db.findDataByDateDateDemo.insertOne({"UserName":"David","UserLoginDate":new ISODate("2019-05-16")});{ "รับทราบ":จริง "insertedId" :ObjectId("5cdd8d00bf3115999ed511f0")}> db.findDataByDateDateDemo.insertOne({"UserName":"Carol","UserLoginDate":new ISODate("2019-10-19")});{ "รับทราบ" :จริง "insertedId" :ObjectId("5cdd8d0ebf3115999ed511f1")}

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

> db.findDataByDateDemo.find();

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

{ "_id" :ObjectId("5cdd8cd7bf3115999ed511ed"), "UserName" :"John", "UserLoginDate" :ISODate("2019-01-31T00:00:00Z") }{ "_id" :ObjectId(" 5cdd8ce7bf3115999ed511ee"), "ชื่อผู้ใช้" :"Larry", "UserLoginDate" :ISODate("2019-02-01T00:00:00Z") }{ "_id" :ObjectId("5cdd8cf3bf3115999ed511ef"), "UserName" :"Sam" , "UserLoginDate" :ISODate("2019-05-02T00:00:00Z") }{ "_id" :ObjectId("5cdd8d00bf3115999ed511f0"), "ชื่อผู้ใช้" :"David", "UserLoginDate" :ISODate("2019-05 -16T00:00:00Z") }{ "_id" :ObjectId("5cdd8d0ebf3115999ed511f1"), "UserName" :"Carol", "UserLoginDate" :ISODate("2019-10-19T00:00:00Z") } 

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาจำนวนผู้ใช้ที่เข้าสู่ระบบระหว่างวันที่ระบุใน MongoDB -

> db.findDataByDateDemo.count({"UserLoginDate":{ "$gte":new Date("2019-05-02"), "$lt":new Date("2019-05-18") } });

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

2