我是新MongoDB的 我做一個簡單的應用程序在bank.an帳戶abount帳戶可以匯款給別人 我設計的帳號收集這樣的原子MongoDB中與轉移金錢
account
{
name:A
age: 24
money: 100
}
account
{
name:B
age: 22
money: 300
}
假設用戶用戶B轉賬100 $,有2個操作: 1)用戶A減少100 $ //文件A的更新 2)用戶B增加100 $ //用文檔B更新 它表示只應用原子僅適用於單個文檔但不包含多個文檔。
我有一個ALTER desgign
Bank
{
name:
address:
Account[
{
name:A
age: 22
money: SS
},
{
name:B
age: 23
money: S1S
}
]
}
我有一些問題:
- 如果我使用後的方式,我怎麼能寫交易查詢(我可以使用findAndModify()函數? )?
- MongoDB是否支持像Mysql(InnoDB)這樣的事務操作?如果我同時使用了 MongoDB和Mysql(InnoDB) )如何才能讓下面的一些操作是 原子(失敗或成功全):
> 1) -100$ with user A
> 2) +100$ with user B
> 3) save transaction
信息,如
transaction
{
sender: A
receiver: B
money : 100
date: 05/04/2013
}
非常感謝。
您的第二個建議是要求單個銀行的所有銀行帳戶都適合單個16MB BSON文檔。如果沒有交易,您將無法安全地跨銀行或文件轉賬。此外,銀行文件上會有很多爭論。與其他交易型RDBMS選項相比,MongoDb不適合用於銀行賬戶。 – WiredPrairie 2013-05-04 12:00:30
非常感謝你 – user2349279 2013-05-04 13:30:48
嗨WiredPrairie,我有一個問題,當用戶A在後來的設計中向用戶B轉賬資金時,文檔被鎖定,其他用戶無法執行交易?謝謝。 – user2349279 2013-05-05 07:48:46