Seu $pull sintaxe está desativada, deve ser: db.tt.update({'comments.name': '2'}, {$pull: {comments: {name: '2'}}})