2012-01-03 105 views
0

我想爲項目使用mongodb。Mongodb c#客戶端模式

是的,我能夠連接到它並做事。

但是,我希望能夠將mongodb驅動程序包裝在一個包裝中,所以如果我想更改數據庫,我想輕鬆地更改它。

存儲庫模式看起來像我可以與Mongodb一起使用的東西,但我不知道從哪裏開始連接?我應該使用單身嗎?

Mongodb docs說它是線程安全的,所以如果我通過Singleton和每個集合創建一個MongoServer和單個MongoDatabase類,我可以有一個返回集合的方法。

這是一個糟糕的設計?

什麼是更好的設計?

我想使用單例創建連接到數據庫的原因我不想保持每個線程創建連接,如果已經有一個持久連接。

有沒有這方面的經驗?

回答

1
  • 連接彙集起來,所以如果你在一個線程中完成它,這將有資格獲得重用其他線程
  • 你可以做倉庫模式到Collection水平。這就是它在MongoDB驅動中如何完成的
  • 反正我真的不需要這麼做。您可以使用連接字符串使用MongoDatabase.Create(MongoUrl)方法。它已經在你的服務器和數據庫名稱方面做了抽象
+0

好吧,我不想做MongoDatabase.Create(MongoUrl)無處不在我使用它。一遍又一遍地做同樣的事情的重點是什麼? – DarthVader 2012-01-03 18:02:41

+1

如果您願意,您絕對可以在應用程序某處存儲對MongoDatabase的引用。沒有人說你必須反覆調用MongoDatabase.Create,只是它是你可用的選項之一,並且在用相同的參數調用時不會創建額外的MongoDatabase實例。 – 2012-01-04 15:12:50

+0

您也在Google網上論壇上提問,其中有更多信息:http://groups.google.com/group/mongodb-user/browse_thread/thread/821f66f7727e381d – 2012-01-04 15:13:09