While I enjoy using MongoDB where appropriate, this example provided is somewhat of a straw man fallacy because it's missing the part of the transaction which decrements from the total number of each item available.
Edit: To address the issue of the total number decrement needed above, there is the two-phase commit, but then you're getting into something that isn't a transaction, by definition, and is more along the lines of eventual consistency.
http://www.mongodb.org/display/DOCS/two-phase+commit