We have a website with a traditional database (mongodb), which is the user voting system. Each user can create many votes and we want to migrate that votes to be stored in the blockchain in a secure way, so they can't be changed or deleted once created. There are 300 000 votes in our db atm. Can we use NEAR to store such an amount of data and how it can be implemented? And what would be the price for storage?
Yes you can use NEAR to support your voting application.
We actually have an an example of that here
https://github.com/near-examples/voting-app
On top of that we have some useful resources here that discuss storage staking
https://docs.near.org/docs/concepts/storage-staking
That last link on storage will give you an overview of what storage staking is on Near but for an accurate up to date cost of how much storage would cost you per byte in yoctoNEAR (1NEAR=1*10^24 in yoctoNEAR) can query our RPC using this guide
https://docs.near.org/docs/api/rpc/protocol#protocol-config
As well as alternative storage solutions you can use in conjunction with NEAR