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

날짜 레코드를 기반으로 MongoDB 컬렉션에서 최신 데이터 세트를 얻는 방법은 무엇입니까?


데이터 레코드에서 최신 데이터 세트를 가져오려면 sort() 및 -1을 사용하십시오. 문서와 같은 단일 데이터에 대해서만 LIMIT(1)을 사용합니다. 문서로 컬렉션을 만들자 −

> db.demo521.insertOne({"PurchaseDate":new ISODate("2019-01-10"),"ProductName":"Product-1"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e89a1acb3fbf26334ef6117")
}
> db.demo521.insertOne({"PurchaseDate":new ISODate("2020-04-05"),"ProductName":"Product-10"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e89a1b9b3fbf26334ef6118")
}
> db.demo521.insertOne({"PurchaseDate":new ISODate("2010-05-08"),"ProductName":"Product-4"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e89a1c8b3fbf26334ef6119")
}
> db.demo521.insertOne({"PurchaseDate":new ISODate("2020-02-21"),"ProductName":"Product-3"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e89a1d7b3fbf26334ef611a")
}

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

> db.demo521.find();

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

{ "_id" : ObjectId("5e89a1acb3fbf26334ef6117"), "PurchaseDate" : ISODate("2019-01-10T00:00:00Z"), "ProductName" : "Product-1" }
{ "_id" : ObjectId("5e89a1b9b3fbf26334ef6118"), "PurchaseDate" : ISODate("2020-04-05T00:00:00Z"), "ProductName" : "Product-10" }
{ "_id" : ObjectId("5e89a1c8b3fbf26334ef6119"), "PurchaseDate" : ISODate("2010-05-08T00:00:00Z"), "ProductName" : "Product-4" }
{ "_id" : ObjectId("5e89a1d7b3fbf26334ef611a"), "PurchaseDate" : ISODate("2020-02-21T00:00:00Z"), "ProductName" : "Product-3" }

다음은 날짜를 기준으로 최신 데이터 집합을 가져오는 쿼리입니다. −

> db.demo521.find().sort({"PurchaseDate": -1}).limit(1);

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

{ "_id" : ObjectId("5e89a1b9b3fbf26334ef6118"), "PurchaseDate" : ISODate("2020-04-05T00:00:00Z"), "ProductName" : "Product-10" }