1. 程式人生 > >Meteor學習路程(三)之資料庫的例子(1)【查詢】

Meteor學習路程(三)之資料庫的例子(1)【查詢】

接下來會用Meteor的幾種方式展示出資料:

第一步:命令列新建工程

meteor create dbTest
.......
cd dbTest
.......
meteor npm install
.......
meteor
第二步:

第一種方式:模擬資料

在client資料夾下新建template資料夾並且建立一個模板和helper檔案:users.html、users.js

(1)建立使用者列表模板users.html

<!--定義users模板-->
<template name="users">
    <ul>
        <!--迴圈處理users陣列-->
        {{#each users}}
            <!--顯示每條資料中的name和age-->
            <li>name:{{name}},age:{{age}}</li>
        {{/each}}
    </ul>
</template>
(2)建立helper檔案
Template.users.helpers({
    users:function () {
    //返回靜態資料
    return[
            {name:'name1',age:20},
            {name:'name2',age:20}
   ];
   }
});

(3)修改main.html顯示,讓它呼叫users.html模板

<head>
  <title>dbTest</title>
</head>
<body>
  <h1>資料展示方式</h1>
  <h3>1.模擬資料</h3>
  {{> users}}
</body>

(4)此時就可以在瀏覽器(http://localhost:3000)中檢視到靜態模擬資料的使用者列表了


第二種方式:資料庫資料

(1)在專案執行的那個命令視窗不要關閉的前提下,再開一個視窗在專案(dbTest)根目錄下執行meteor mongo

(2)再在mongodb中插入兩條資料,方便後期呼叫,再檢查一下里面的資料是否插入成功

db.tests.insert({name:'name3',age:20});
db.tests.insert({name:'name3',age:20});
......
db.tests.find();


解析:_id是必要非空元素,由mongodb自動填充。很奇怪為什麼沒有建立集合tests就可以直接插入資料了吧?這是因為資料庫和集合可以在插入資料的同時進行建立。

MongoDB資料庫命令操作:

(3)接著在專案根目錄下建立一個lib目錄,在其中再建立一個collection目錄,並且在這個目錄下再建立TestsUsers.js關聯資料庫

TestsUsers = new Mongo.Collection('tests');
(4)接下來為了與上面靜態資料有個對比,新增main.html裡面的顯示
<h3>2.資料庫資料</h3>
{{> testsusers}}
(5)再在template檔案下建立testsusers.html和testsusers.js

testsusers.html

<template name="testsusers">
    <ul>
        <!--迴圈處理testsusers陣列-->
        {{#each testsusers}}
            <!--顯示每條資料中的name和age-->
            <li>name:{{name}},age:{{age}}</li>
        {{/each}}
    </ul>
</template>
testsusers.js
Template.testsusers.helpers({
    testsusers:function () {
        //返回資料庫資料
        return TestsUsers.find();
    }
});
(6)這樣大功告成了,在瀏覽器中即可看到

本來準備貼入原始碼的,但是上限是60M,因此如果大家有需要請私信我。

參考文獻主要是來源於《Meteor全棧開發》結合自身學習步驟完,以提供今後學習和方便大家學習交流。

MongoDB資料庫基礎知識:

a.MongoDB是一個開源的面向文件的NoSQL資料庫。

b.文件是一組屬性名和屬性值的集合。屬性值可以是簡單的資料型別,也可以是一組陣列,甚至是其他文件。

c.mysql和mongodb區別:

前者是關係型資料庫,後者是文件型資料庫。

文件中可以包含一個物件的全部內容,而關係型資料庫中需要從多個表中獲取;關係型資料庫又固定的合適,規定了列和型別,而文件型資料庫無須先定義。(例如:如果需要新增欄位或修改某列型別,關係型資料庫需要顯式的修改表結構,而文件結構中無須預先定義屬性名和屬性值型別可以動態新增任何屬性)

d.定義集合物件的變數名:用資料庫中集合名稱命名、並以大寫字母開頭、使用複數。

MongoDB資料庫常用基本操作:

1.刪除users集合:【刪】

db.users.remove();
remove()方法作用是刪除文件,沒有引數時是刪除集合中全部文件,想要刪除指定文件則使用
db.users.remove({'name':'name1'});
remove()不會刪除集合,只是從集合中刪除文件,如果要把集合徹底刪除,則需要使用drop

db.users.drop(); 
2.檢視所有資料庫
show dbs

3.檢視有哪些集合

show collections

4.查詢users資料庫/集合內資料展示【查】

db.users.find();  
5.查詢users資料庫/集合資料條數
db.users.count();
6.插入users資料【增】
db.users.insert({name:'name1',age:20});

7.更新users資料【改】

db.users.update({'name':'name1'},{$set:{'name':'namename'}});