2015-03-30 145 views
0

在我的初始化代碼中,我創建了1 Morphia實例,並用它來映射我所有數據庫中的所有類。我注意到,儘管如此,當我撥打ensureIndexes()時,它會初始化一個空集合並索引所有數據庫中的所有集合。Morphia:爲每個數據庫創建新的Morphia實例?

是否正確的模式,而不是每個數據庫創建1 Morphia實例,然後循環通過每個實例ensureIndexes?

回答

1

您可以使用一個Morphia實例併爲每個數據庫創建一個數據存儲,只要它們都共享相同的映射信息即可。

+0

現在我正在使用單個morphia實例爲每個數據庫創建一個數據存儲。但是,當我在任何實例上調用datastore.ensureIndexes()時,它會爲映射到morphia的所有類創建索引和集合。 – user2066880 2015-03-31 00:18:27

+0

是的。它會這樣做。每個Morphia實例都有一個Mapper。如果你不想在每個數據庫中收集每一個數據集,那麼你就需要分解一些東西。 – evanchooly 2015-03-31 00:45:19

+0

好的。感謝您的澄清。 – user2066880 2015-03-31 01:03:53