HI, i can think of a way to get your job done but this might not be the most efficient way that you are looking for still, what you can do is For each block you can pass true as the second parameter to getBlock:
web3.eth.getBlock(blockHashOrBlockNumber [, returnTransactionObjects] [, callback])