在 MongoDB 中查詢特定日期的資料?


假設你已經儲存了使用者的登入日期。現在,你只想獲取特定日期(即登入日期)的記錄計數。為此,請與 count() 一起使用 $gte 和 $lt 運算子。讓我們先使用文件建立一個集合 -

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

以下是如何使用 find() 方法從集合中顯示所有文件的查詢 -

> db.findDataByDateDemo.find();

此操作將生成以下輸出 -

{ "_id" : ObjectId("5cdd8cd7bf3115999ed511ed"), "UserName" : "John", "UserLoginDate"  : ISODate("2019-01-31T00:00:00Z") }
{ "_id" : ObjectId("5cdd8ce7bf3115999ed511ee"), "UserName" : "Larry", "UserLoginDate" : ISODate("2019-02-01T00:00:00Z") }
{ "_id" : ObjectId("5cdd8cf3bf3115999ed511ef"), "UserName" : "Sam", "UserLoginDate"   : ISODate("2019-05-02T00:00:00Z") }
{ "_id" : ObjectId("5cdd8d00bf3115999ed511f0"), "UserName" : "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

更新於:2019 年 7 月 30 日

2000+ 瀏覽次數

開啟 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.