我创建了一个用于跟踪用户会话的集合。我想根据登录时间获取每个用户的最后一个会话。假设我的收藏中有一些文件。
{
"_id" : BinData(3,"LkNkGFrvldtTyHmLp5CirA=="),
"createdTime" : ISODate("2017-09-22T06:37:17.620Z"),
"userName" : "testUser1",
"loggedOnDuration" : NumberLong(10),
"loginTime" : ISODate("2017-09-22T06:37:17.620Z"),
"logoutTime" : ISODate("2017-09-23T06:37:17.620Z"),
}
{
"_id" : BinData(3,"B0R7SkeZ30rCjsp/Kftphw=="),
"createdTime" : ISODate("2017-09-22T06:42:17.620Z"),
"userName" : "testUser1",
"loggedOnDuration" : NumberLong(10),
"loginTime" : ISODate("2017-09-22T06:42:17.620Z"),
"logoutTime" : ISODate("2017-09-23T06:37:17.620Z"),
}
{
"_id" : BinData(3,"B0R7SkeZ30rCjsp/Kftphw=="),
"createdTime" : ISODate("2017-09-22T06:45:17.620Z"),
"userName" : "testUser2",
"loggedOnDuration" : NumberLong(10),
"loginTime" : ISODate("2017-09-22T06:45:17.620Z"),
"logoutTime" : ISODate("2017-09-23T06:37:17.620Z"),
}
{
"_id" : BinData(3,"B0R7SkeZ30rCjsp/Kftphw=="),
"createdTime" : ISODate("2017-09-24T06:50:17.620Z"),
"userName" : "testUser2",
"loggedOnDuration" : NumberLong(10),
"loginTime" : ISODate("2017-09-24T06:50:17.620Z"),
"logoutTime" : ISODate("2017-09-24T06:59:17.620Z"),
}
我只想为每个用户获取一个具有最大创建时间的文档。输出应该是这样的 -
{
"_id" : BinData(3,"B0R7SkeZ30rCjsp/Kftphw=="),
"createdTime" : ISODate("2017-09-22T06:42:17.620Z"),
"userName" : "testUser1",
"loggedOnDuration" : NumberLong(10),
"loginTime" : ISODate("2017-09-22T06:42:17.620Z"),
"logoutTime" : ISODate("2017-09-23T06:37:17.620Z"),
}
{
"_id" : BinData(3,"B0R7SkeZ30rCjsp/Kftphw=="),
"createdTime" : ISODate("2017-09-24T06:50:17.620Z"),
"userName" : "testUser2",
"loggedOnDuration" : NumberLong(10),
"loginTime" : ISODate("2017-09-24T06:50:17.620Z"),
"logoutTime" : ISODate("2017-09-24T06:59:17.620Z"),
}
我正在使用 MongoCollection 类进行 MongoDB 操作。如何使用 MongoCollection 库获得此输出?