Parece que o código acima não funcionaria. Não deveria nem ter funcionado para o primeiro exemplo que dei.
No final, fui apoiado por esta resposta aqui:MongoDB, remova o objeto da matriz
Aqui está o meu código de trabalho:
userAccounts.update(
{ userId: usr.userId },
{
$pull: {
connections: { _id : connId }
}
},
{ safe: true },
function removeConnectionsCB(err, obj) {
// ...
}
);