How do I unpublish content from my old site from google index database to prevent it from duplicating on my new domain name.
If you are migrating domain names, do not remove your old domain's content from the Google index or you will see your rankings drop. Leave it be in Google's index, and implement proper 301 redirects. Also, use Google Search Console's Change of Address tool as potatomodem mentioned in his answer.
"Content" does not "duplicate" on the new domain name in Google's index, that's not really how it works. Duplicate content is not a penalty and will not cause the canonical version of the page to drop in rank.
Your question is rather vague, so please add more details if you would like more help. Are you migrating a whole site between domains? Is all of the content coming along? Or are you trying to remove a domain from Google entirely, and leave any SEO link juice behind?
You've got 2 options:
First you could log into Google Search Console > Settings > Change of Address and let Google know you're moving the domain. The important part will be ensuring your new domain has the right 301 redirects so the pages aren't 404.
Second, log into Google Search Console > Removals > New Request, then place the URL of the page you want de-indexed.
Personally I would recommend that you do a lookup on your current domain, does it have good authority or page rank, use tools like Ahrefs.com or Alexa.com to get a good idea. If the answer is yes, use your old domain to create controlled backlinks to your new site in order to pass that authority on to the new domain. The purpose; your new domain will rank higher, faster. If the content is exactly the same and you have the time, rewrite a few summaries on the pages that have the highest volume of visits and only pass those on. Otherwise if there is no solid rank to utilize, go with one of the 2 options above.
As the other two mentioned, you probably want to consider using 301 to drive the juice to your new site if you do not want to keep the old site.
It is also possible to change the canonical URL. In the old site you add that entry to your headers that need to point to the new site.
Either way, if your pages have completely new URL paths, it's not going to be possible to automate the process. That means editing each page on the old site. If you have a few hundred, already, it's not going to be a lot of fun, is it? (You have the same issue with a 301, though)
Otherwise, Google will automatically de-index a site which is not accessible anymore. i.e. remove the domain name from the DNS from everywhere (i.e. make sure there is no address for the old domain). That's it.
However, a possibly faster way to see the page removed is to reply with
410 Gone. So any access on the old domain, whatever the path, just return the 410 HTTP code. That immediately tells Google that the page is definitely gone and it won't come back. That has the side effect of very quickly deindexing each page. However, GoogleBot may take its time to check every single page, so it may still take quite a while to really deindex everything. See Matt Cutts video about this subject.
Also, if some people were accessing your old content, having a 301 is way better all around. After all, those people will now see your new website. Isn't that better than losing that traffic altogether?