В данный момент это невозможно.
Начиная с 1.5.1, вы можете использовать оператор $slice
, чтобы сделать что-то подобное, но только есливаши объекты журнала уже упорядочены по дате (что теоретически должно быть так, потому что вы обычно ничего не регистрируете в прошлом):
> db.User.findOne({}, {"logs":{$slice: -2}}) // last two
> db.User.findOne({}, {"logs":{$slice: 2}}) // first two
К сожалению, это не позволит вам точно выполнять поиск в серединеподмножества по дате.