Perché il tuo array di sessioni è all'interno delle connessioni
Prova "connections.$.sessions" invece di sessioni in modo che la tua query sia
Users.findOneAndUpdate({ "userId": "myId", "connections.dateConnectedUnix": 1334567891 },
{ $pull: { "connections.$.sessions" : { device: "mobile" } } }, (err) => {
if (err) {
return res.status(404).json({ message: 'Error' });
}
return res.status(200).json({
success: true,
message: 'success'
});
}
);