आपने इसे लगभग पकड़ लिया।
अंतिम 30 मान प्राप्त करने के लिए, इसके बजाय केवल ऋण का उपयोग करें। आपके मामले में, आप कुछ ऐसा कर सकते हैं:
Device.findOne({ device_id: deviceId }, { movements: { $slice: -30 } }, (err, device) => {
....
})
आशा है कि इससे मदद मिली।