is mining is the process of finding nonce?
That is an inaccurate or incomplete definition. Mining is about constructing a new block in the chain and setting the header in a way that this 80-byte construct has a specific hash lower than the target.
In each block header there are 5 fields: version, previous block header hash, merkle root hash, block time, target, nonce. From these fields the previous hash and target are fixed while the rest are variables with version and time having some limits. As I said the miner finds a
combination of these that has the desired hash. For example by changing the transactions in the block or their orders the miner can change the merkle root hash hence change the header hash.
Each block contains data about new transactions, as well as a special code called "nonce"
You are getting some terminology wrong, blocks contain transactions not some data about them. Also nonce is a 32-bit integer not a code.