How can I get first and last document based on time
field.
I can use $group
and get $first
and $last
document, but I don't need grouping here, just get first and last full document. Maybe I could use slice
? This query doesn't work:
{
"aggregate": "353469045637980_data",
"pipeline": [
{
"$match": {
"$and": [
{
"time": {
"$gte": 1461369600
}
},
{
"time": {
"$lt": 1461456000
}
}
]
}
},
{
"$project": {
"first": {
"$slice": 1
},
"last": {
"$slice": -1
}
}
}
]
}