Il secondo parametro di populate
è una stringa di selezione del campo, quindi puoi farlo come:
Author
.findOne({personcode: code})
.select('-_id -__v')
.populate('bookids', '-_id -__v')
.exec(function (err, data) {
//foo
});
Tieni presente che dovresti combinare le selezioni dei campi in un'unica stringa.