2016-11-23 42 views
0
手柄櫃檯

使用事務數據庫,使這樣的事情很容易我一直堅持:用MongoDB的

City包含一個名爲populationCount /列這是每一個與city_id一個Person添加時間更新刪除。

如何使用這樣的非事務數據庫,如MongoDB?假設收集Person包含數百萬的文件:我應該總是查詢人口數量還是有一個簡單的方法來存儲populationCountCity?我見過transaction example on the MongoDB website,但它談到了從A轉移到B的經典例子。我希望我的問題更容易。

+0

城市的人口數量是否必須100%準確? – RayCW

+0

那會很好。否則,我只需在'City'文件中使用'$ inc'即可。 –

+0

'很高興'與'必須擁有'不一樣。 – RayCW

回答

1

當這個城市的人口數量少於那個城市的收集人口的真實人口數量時,是否存在問題?

如果是,那麼你可以在你的應用程序中使用ReaderWriterLock。這意味着只有一個線程可以同時寫入,您可以爲人員集合編寫一個文檔,並且您可以增加集合城市的人口數量,並且在正在進行寫作時沒有讀數,但是當沒有寫入時會發生所有線程想要閱讀的人可以同時閱讀。