2015-05-20 67 views
0

我正在使用Discover Meteor書學習流星。我如何處理Meteor中的關係數據?

我來自一個PHP和MySQL背景,我想這樣做的副作用項目的應用是實時步步高的Web應用程序。雖然Meteor的反應能力非常非常大,但我很難理解我如何處理關係數據(例如遊戲,用戶,錦標賽,朋友,團隊等)。

我讀了很多答案(從舊到很老的)在計算器上一個如何使用MySQL流星。我的搜索導致我到numtel/meteor-mysql。但是,當我查看該存儲庫中提供的示例時,它不像Meteor自己的MongoDB實現那麼幹淨。

我的選擇,因爲我理解他們,有以下幾種:

  • 使用MongoDB的,並改寫了很多在Javascript
  • 使用RDBMS,是不是也支持目前在RDBMS功能在流星像MongoDB

海事組織,選項二是少得多的工作,我認爲可能會導致未來更少的問題。例如,以Why You Should Never Use MongoDB的結尾處的問題爲例。

我們也可以將這些數據建模爲一組嵌套散列。關於特定電視節目的一組信息是一個大的嵌套鍵/值數據結構。在電視節目中,有一系列季節,每個季節也是一個散列。在每個季節內,一系列劇集,每一個都是散列,等等。這就是MongoDB對數據進行建模的方式。每個電視節目都是一個包含我們一次演出所需信息的文檔。

但是,那麼,你會如何查詢有人出演過的電視節目?

回到我原來的問題:有什麼我在這裏失蹤?處理關係數據的東西,有很多應用程序都需要做的,但我似乎無法找到一個乾淨的解決方案

回答

0

,如果你有在我看來,選項1走這將大大減少工作。

這不會是很難學會使用MongoDB的,而且由於MongoDB使用JSON對象,由流星,它的所有的包原生支持,這將大大減少工作。

我建議有一個看aldeed包:collection2和簡單模式來組織你的收藏。我還建議使用collection-helpers包來幫助連接。

如果你有一個帖子收集與名稱,過AuthorID和內容字段,然後拿到帖子的作者,你會寫Meteor.users.findOne(用戶ID)。

希望能清理一些東西,並讓你走上正路。

+0

[reywood:發佈複合]。[1]是也用於與MongoDB中準關係文件的結構處理,例如*外鍵的重要包* [1]:https://atmospherejs.com/reywood/publish-composite –

+0

雖然這些都不能幫助我查詢連接。舉一個例子,看看下面這篇文章的「結語」:http://www.sarahmei。com/blog/2013/11/11/why-you-should-never-use-mongodb/ –

+0

你不需要一個包來查詢連接。但收集幫手確實有幫助。並且有很多文章在網上討厭MongoDB,但是很多製作網站都使用它,沒有任何問題... –