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

MongoDB를 사용하여 특정 날짜 형식에 대한 쿼리를 필터링하는 방법은 무엇입니까?

<시간/>

특정 날짜 형식으로 쿼리를 필터링하려면 $dateToString을 사용합니다. 문서로 컬렉션을 만들자 −

> db.demo433.insertOne({"DueDate":new Date("2019-11-23")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e771278bbc41e36cc3cae91")
}
> db.demo433.insertOne({"DueDate":new Date("2020-01-03")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e771290bbc41e36cc3cae92")
}

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

> db.demo433.find();

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

{ "_id" : ObjectId("5e771278bbc41e36cc3cae91"), "DueDate" : ISODate("2019-11-23T00:00:00Z") }
{ "_id" : ObjectId("5e771290bbc41e36cc3cae92"), "DueDate" : ISODate("2020-01-03T00:00:00Z") }

다음은 MongoDB에서 특정 날짜 형식으로 쿼리를 필터링하는 쿼리입니다 -

> db.demo433.aggregate([
... { $addFields: {stringDate: { $dateToString: { format: "%Y-%m-%d", date: "$DueDate" } } } },
... { $match: {"stringDate":"2020-01-03"}},
... { $project:{"stringDate":0}}
... ])

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

{ "_id" : ObjectId("5e771290bbc41e36cc3cae92"), "DueDate" : ISODate("2020-01-03T00:00:00Z") }