You are having this problem due to the check you do for the doc.isSold before the emit statement, the check means that only documents where doc.isSold == TRUE are passing through.
What you need to do is this which will check that the variable has been set rather than evaluating the boolean value:
function(doc, meta) {
if (doc.type == "ticket" && doc.isSold != null && doc.presentationId) {
emit([doc.isSold, doc.presentationId], null);
}
}
Hope that helps :)