To build a transaction system like yours, you need both atomicity and concurrency security. As long as you're dealing with a single collection, you should be fine.
Building on top of Vasan's answer, something like:
db.collectioname.update(
{'available' : true, 'seatId' : 'xxx'},
{$set: {'available' : false, 'transactionID' : 'xxxx'}}
);
would suffice in a simple environment.
However, most booking systems involve mutiple collections in real life. You would need database level locking in that case. If that's your use case, I am afraid, using SQL would be a better solution for this part of your product. Most applications anyway these days need both a SQL and NOSQL database.