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

MongoDB에서 "지금"과 주어진 날짜의 차이점은 무엇입니까?

<시간/>

MongpDB에서 날짜의 차이를 얻으려면 집계()를 사용하십시오. 문서로 컬렉션을 만들자 −

> db.demo734.insertOne({GivenDate:new ISODate("2020-01-10")});{ "승인됨" :true, "insertedId" :ObjectId("5ead4f1a57bb72a10bcf064e")}> db. insertOne({GivenDate:new ISODate("2020-02-20")});{ "승인된" :true, "insertedId" :ObjectId("5ead4f2157bb72a10bcf064f")}> db.demo734.insertOne({GivenateDate "2010-12-01")});{ "확인됨" :true, "insertedId" :ObjectId("5ead4f2b57bb72a10bcf0650")}> db.demo734.insertOne({GivenDate:new ISODate("5-2010")0 });{ "승인됨" :true, "insertedId" :ObjectId("5ead506f57bb72a10bcf0651")}

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo734.find();

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

{ "_id":ObjectId("5ead4f1a57bb72a10bcf064e"), "GivenDate":ISODate("2020-01-10T00:00:00Z") }{ "_id":ObjectId("5ead4f2157bb70") ISODate("2020-02-20T00:00:00Z") }{ "_id":ObjectId("5ead4f2b57bb72a10bcf0650"), "GivenDate":ISODate("2010-12-01T00:00:00Z") :ObjectId("5ead506f57bb72a10bcf0651"), "GivenDate" :ISODate("2020-05-01T00:00:00Z") }

다음은 "지금"과 주어진 날짜의 차이를 구하는 쿼리입니다 -

> db.demo734.aggregate([... {$project:{....... "differenceMilli":{....... $subtract:[... new ISODate(),.. . "$GivenDate"... ]... }... }... },... {$project:{....... "differenceMilli":1,... "differenceindays":{ ... $divide:[... "$differenceMilli",... 1000 * 60 * 60 * 24... ]... }... }... }]... )

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

{ "_id" :ObjectId("5ead4f1a57bb72a10bcf064e"), "differenceMilli" :NumberLong("9802234864"), "differenceindays"1cf06":113.45179240740741 }{ "_idf2" "6259834864"), "differenceindays"72.45179240740741} { "_id"ObjectId가 ( "5ead4f2b57bb72a10bcf0650"), "differenceMilli"NumberLong으로 ( "297255034864"), "differenceindays"3440.4517924074075을} { "_id"ObjectId가 ( "5ead506f57bb72a10bcf0651" ), "differenceMilli" :NumberLong(125434864), "differenceindays" :1.4517924074074073 }