나는 한국어로 작업하고 있습니다. mongodb에서 데이터를 가져 오기 위해 mgo 드라이버를 사용하고 있습니다. 이벤트 배열에서 마지막 항목을 원합니다.golang을 사용하여 mongodb의 배열에 마지막 원소를 가져 오는 방법은 무엇입니까?
미래에는 거대한 데이터가있을 것입니다. 그래서 전체 레코드를 읽지 않고 레코드의 특정 데이터 만 원합니다.
db.events.find({"_id":"59ce53b9-970a-44a2-8419-b41a99120b25"},{"events":{$slice:-1}}).pretty()
이것은 mongo shell에서 작동합니다. 나는 이것이 가면에서 일하기를 바란다.
이것은 이벤트의 마지막 항목을 원하는 샘플 데이터입니다.
{
"_id" : "59ce53b9-970a-44a2-8419-b41a99120b25",
"version" : 9,
"events" : [
{
"event_type" : "customer:added",
"data" : {
"id" : "59ce53b9-970a-44a2-8419-b41a99120b25",
"name" : "arjun"
},
"timestamp" : ISODate("2017-11-20T12:21:34.910Z"),
"aggregate_type" : "customer",
"_id" : "59ce53b9-970a-44a2-8419-b41a99120b25",
"version" : 1
},
{
"event_type" : "customer:address-updated",
"data" : {
"id" : "59ce53b9-970a-44a2-8419-b41a99120b25",
"address" : "bangalore"
},
"timestamp" : ISODate("2017-11-20T12:22:08.496Z"),
"aggregate_type" : "customer",
"_id" : "59ce53b9-970a-44a2-8419-b41a99120b25",
"version" : 2
}
]
}
이? https://play.golang.org/p/Lk-wVGrOCW ISODate() 구문이 무엇인지 모르기 때문에 그냥 문자열로 싸여 있습니다. – biosckon
타임 스탬프입니다. golang의 사용 시간 패키지 (https://golang.org/pkg/time/). bson을 사용하여 구조체를 마샬링합니다. –