{ date: 46402320, userid: ObjectID("1"), valueA: "u1vA1", valueB: "u1vB1" }
{ date: 46402321, userid: ObjectID("1"), valueA: "u1vA2", valueB: "u1vB2" }
{ date: 46402322, userid: ObjectID("1"), valueA: "u1vA3", valueB: "u1vB3" }
{ date: 46402340, userid: ObjectID("2"), valueA: "u2vA1", valueB: "u2vB1" }
{ date: 46402341, userid: ObjectID("2"), valueA: "u2vA2", valueB: "u2vB2" }
{ date: 46402342, userid: ObjectID("2"), valueA: "u2vA3", valueB: "u2vB3" }
{
t: [46402320, 46402321, 46402322, ...],
va: ["u1vA1", "u1vA2", "u1vA3", ...],
vb: ["u1vB1", "u1vB2", "u1vB3", ...]
}
import play.modules.reactivemongo.json.commands.JSONAggregationFramework._
collection.aggregate(Match("userid" $eq userId),
List(Group(JsNull)(
"t" -> Push("date"),
"va" -> Push("valueA"),
"vb" -> Push("valueB")
))
)