摘要:是什么是存儲數(shù)據(jù)的方式,數(shù)據(jù)庫使用的是。使用實現(xiàn)每一個對應(yīng)中的一個表。的的特點在客戶端和服務(wù)端使用相同的數(shù)據(jù)模型,一次定義之后兩端使用,會完成剩下的數(shù)據(jù)同步的工作。
Collections是什么
Collections是Meteor存儲數(shù)據(jù)的方式,數(shù)據(jù)庫使用的是MongoDB。
Collections允許訪問客戶端和服務(wù)端,會自動更新,當(dāng)Collections發(fā)生改變的時候,所有使用Collections的組件都會被更新。使用Collections不需要編寫大量的服務(wù)器代碼就可以方便的更新頁面邏輯。
客戶端調(diào)用Collections和服務(wù)器調(diào)用Collections基本一致。
Collections使用MongoDB實現(xiàn),每一個Collections對應(yīng)MongoDB中的一個表。
創(chuàng)建Collections很簡單,直接new一個Colletcion即可:
Languages=new Mongo.Collection("languages");
這樣就可以使用find()查詢數(shù)據(jù)了,使用Collections查詢數(shù)據(jù)的客戶端代碼:
if (Meteor.isClient) { Template.meteor_collection.helpers({ languages:Languages.find() }); }
在模板中顯示查詢到的數(shù)據(jù):
{{#each languages}}{{name}}
{{/each}}
因為還沒有插入數(shù)據(jù),所以這個使用頁面中并沒有數(shù)據(jù)可以顯示,下面插入一些數(shù)據(jù)。
使用MongoDB插入數(shù)據(jù)進入項目目錄中,確保你的MongoDB服務(wù)在運行中,如果沒有運行,可以啟動Mongo服務(wù),也可以啟動項目,啟動項目時會自動啟動MongoDB服務(wù)。
然后運行命令:
meteor mongo
ongoDB shell version: 2.6.7 connecting to: 127.0.0.1:3001/meteor meteor:PRIMARY>
show tables;
并沒有看到數(shù)據(jù)顯示,下面插入一條數(shù)據(jù):
db.languages.insert({name:"nodejs",created_time:new Date()})
再來看下:
show tables;
languages system.indexes
多了兩個表 一個是languages一個是索引表。
在頁面里面就可以看到一條數(shù)據(jù)。
上面的查詢是在客戶端使用Collections,下面演示下在服務(wù)器端使用Collections的方法,在Meteor啟動的時候判斷如果數(shù)據(jù)小于2條就新加一條數(shù)據(jù)。
if (Meteor.isServer) { Meteor.startup(function () { if(Languages.find().count()==1){ Languages.insert({name:"css",created_time:new Date()}); } }); }
這樣就在服務(wù)器端添加了一條數(shù)據(jù),直接就可以在客戶端查看到數(shù)據(jù)變化。
Meteor的Collections的特點:在客戶端和服務(wù)端使用相同的數(shù)據(jù)模型,一次定義之后兩端使用,Meteor會完成剩下的數(shù)據(jù)同步的工作。
項目地址:https://github.com/jjz/meteor...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/18776.html
摘要:我們通過對我們應(yīng)用程序的每個部分進行單元測試來實現(xiàn)這一點,同時遵循一個標準。它幫助你單元測試,動作和集成容器。當(dāng)在組件庫中使用庫函數(shù)時,它應(yīng)該是純函數(shù)。 Mantra 工作草案-版本0.2.0 簡介 這是一個Mantra草案規(guī)范,一個由Kadira創(chuàng)建的Meteor的應(yīng)用程序架構(gòu)。 它幫助開發(fā)人員構(gòu)建可維護的,面向未來的Meteor應(yīng)用程序。 版權(quán) The MIT License (M...
摘要:在我的機子上,運行于端口,以避免和其他默認運行于端口的沖突。我們可以使用命令連接數(shù)據(jù)庫查看定義應(yīng)用層次創(chuàng)建的模板應(yīng)用有一個問題,客戶端和服務(wù)器段的代碼是一樣的。在中加入然后添加問題模板注意我們使用了來確保用戶未登錄的情況下應(yīng)用。 編者注:我們發(fā)現(xiàn)了有趣的一系列文章《30天學(xué)習(xí)30種新技術(shù)》,正在翻譯中,一天一篇更新,年終禮包。下面是第15天的內(nèi)容。 到目前為止我們討論了Bower...
摘要:在我的機子上,運行于端口,以避免和其他默認運行于端口的沖突。我們可以使用命令連接數(shù)據(jù)庫查看定義應(yīng)用層次創(chuàng)建的模板應(yīng)用有一個問題,客戶端和服務(wù)器段的代碼是一樣的。在中加入然后添加問題模板注意我們使用了來確保用戶未登錄的情況下應(yīng)用。 編者注:我們發(fā)現(xiàn)了有趣的一系列文章《30天學(xué)習(xí)30種新技術(shù)》,正在翻譯中,一天一篇更新,年終禮包。下面是第15天的內(nèi)容。 到目前為止我們討論了Bower...
摘要:在開發(fā)的過程中有的時候我們只需要存儲一些臨時的變量,我們并不想使用來存儲,這個時候我們可以使用來存儲,可以方便的存儲一些狀態(tài),也可以在中使用。中存儲的的值項目地址 在開發(fā)的過程中有的時候我們只需要存儲一些臨時的變量,我們并不想使用collection來存儲,這個時候我們可以使用Session來存儲,Session可以方便的存儲一些狀態(tài),也可以在helpers中使用。 Session是變...
摘要:數(shù)據(jù)存儲集合是存儲持久化數(shù)據(jù)的方式。中的集合比較特殊的是,它可以從服務(wù)端,包括客戶端接收數(shù)據(jù)。它也可以自動的自我更新,因此一個視圖組件受到一個集合的支持,他可以自動的展示最新的數(shù)據(jù)。 數(shù)據(jù)存儲 集合(Collection)是Meteor存儲持久化數(shù)據(jù)的方式。Meteor 中的集合比較特殊的是,它可以從服務(wù)端,包括客戶端接收數(shù)據(jù)。這使得編寫視圖邏輯變得更加簡單 -- 不用去寫太多的服務(wù)端...
閱讀 2204·2021-11-25 09:43
閱讀 2303·2021-11-24 09:39
閱讀 1610·2021-11-22 12:02
閱讀 3019·2021-11-17 09:33
閱讀 3442·2021-11-15 11:38
閱讀 2843·2021-10-13 09:40
閱讀 1104·2021-09-22 15:41
閱讀 1712·2019-08-30 10:58