je had het bijna door.
Gebruik in plaats daarvan minus om de laatste 30 waarden te krijgen. In jouw geval kun je zoiets doen als:
Device.findOne({ device_id: deviceId }, { movements: { $slice: -30 } }, (err, device) => {
....
})
Ik hoop dat het heeft geholpen.