0
在我的初始化代碼中,我創建了1 Morphia
實例,並用它來映射我所有數據庫中的所有類。我注意到,儘管如此,當我撥打ensureIndexes()
時,它會初始化一個空集合並索引所有數據庫中的所有集合。Morphia:爲每個數據庫創建新的Morphia實例?
是否正確的模式,而不是每個數據庫創建1 Morphia
實例,然後循環通過每個實例ensureIndexes?
在我的初始化代碼中,我創建了1 Morphia
實例,並用它來映射我所有數據庫中的所有類。我注意到,儘管如此,當我撥打ensureIndexes()
時,它會初始化一個空集合並索引所有數據庫中的所有集合。Morphia:爲每個數據庫創建新的Morphia實例?
是否正確的模式,而不是每個數據庫創建1 Morphia
實例,然後循環通過每個實例ensureIndexes?
您可以使用一個Morphia實例併爲每個數據庫創建一個數據存儲,只要它們都共享相同的映射信息即可。
現在我正在使用單個morphia實例爲每個數據庫創建一個數據存儲。但是,當我在任何實例上調用datastore.ensureIndexes()時,它會爲映射到morphia的所有類創建索引和集合。 – user2066880 2015-03-31 00:18:27
是的。它會這樣做。每個Morphia實例都有一個Mapper。如果你不想在每個數據庫中收集每一個數據集,那麼你就需要分解一些東西。 – evanchooly 2015-03-31 00:45:19
好的。感謝您的澄清。 – user2066880 2015-03-31 01:03:53