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