Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB로 특정 날짜 사이에 로그인한 사용자 수 찾기

<시간/>

사용자의 로그인 날짜를 저장했다고 가정해 보겠습니다. 이제 특정 날짜, 즉 로그인 날짜 사이에 로그인한 사용자를 원합니다. 이를 위해 count()와 함께 $gte 및 $lt 연산자를 사용합니다. 먼저 문서로 컬렉션을 만들어 보겠습니다. −

> db.findDataByDateDemo.insertOne({"사용자 이름":"John","UserLoginDate":new ISODate("2019-01-31")});{ "승인됨":true, "insertedId":ObjectId( "5cdd8cd7bf3115999ed511ed")}> db.findDataByDateDemo.insertOne({"UserName":"Larry","UserLoginDate":new ISODate("2019-02-01")});{ "승인됨" :true, "삽입됨 ObjectId("5cdd8ce7bf3115999ed511ee")}> db.findDataByDateDemo.insertOne({"UserName":"Sam","UserLoginDate":new ISODate("2019-05-02")});{ "승인됨":true, " :ObjectId("5cdd8cf3bf3115999ed511ef")}> db.findDataByDateDemo.insertOne({"UserName":"David","UserLoginDate":new ISODate("2019-05-16")});{ "확인됨" "insertedId":ObjectId("5cdd8d00bf3115999ed511f0")}> db.findDataByDateDemo.insertOne({"UserName":"Carol","UserLoginDate":new ISODate("2019-10-19")}); true, "insertedId" :ObjectId("5cdd8d0ebf3115999ed511f1")}

다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다. -

> db.findDataByDateDemo.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id":ObjectId("5cdd8cd7bf3115999ed511ed"), "UserName":"John", "UserLoginDate":ISODate("2019-01-31T00:00:00Z") }{ "_id":ObjectId(" 5cdd8ce7bf3115999ed511ee"), "사용자 이름":"래리", "UserLoginDate":ISODate("2019-02-01T00:00:00Z") }{ "_id":ObjectId("5cdd8cf3bf3115999") , "UserLoginDate" :ISODate("2019-05-02T00:00:00Z") }{ "_id" :ObjectId("5cdd8d00bf3115999ed511f0"), "UserName":"David", "UserLoginDate":19Date(-05) -16T00:00:00Z") }{ "_id" :ObjectId("5cdd8d0ebf3115999ed511f1"), "UserName":"캐롤", "UserLoginDate":ISODate("2019-10-19T00:00} 

다음은 MongoDB에서 특정 날짜 사이에 로그인한 사용자 수를 찾는 쿼리입니다 -

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

이것은 다음과 같은 출력을 생성합니다 -

2