mongoose初探

  學習mongoose首先須要安裝nodejs MongoDB,網上有不少安裝教程,這裏很少贅言。node

  接着cmd到你的工程裏面執行npm install mongoose --save (執行--save會在你的json文件裏面添加依賴)。mongodb

  有了這些咱們就能夠開始學習mongoose了,那麼咱們就先來學習下mongoose存儲的三個重要概念。數據庫

  Schema: 一種以文件形式存儲的數據庫模型骨架,不具有數據庫的操做能力。在mongoose 一切事物都開始於Sechma,Sechema不只定義了文檔的結構和屬性的屬性,還定義了文檔實例方法、靜態模型方法、複合索引和文檔生命週期鉤子,稱爲中間件。來看代碼:npm

 

 1     var mongoose = require('mongoose');    //引用mongoose模塊
 2     var db = mongoose.createConnection('localhost','test'); //建立一個數據庫鏈接
 3 
 4     db.on('error',console.error.bind(console,'鏈接錯誤:'));
 5     db.once('open',function(){
 6       //一次打開記錄
 7     });
 8   //假設如下代碼在回調中處理
 9     var Schema = mongoose.Schema; //定義一個Schema
10 
11     var blogSchema = new Schema({
12           title:  String,     //定義一個title屬性,類型String
13           author: String,
14           body:   String,
15           comments: [{ body: String, date: Date }],
16           date: { type: Date, default: Date.now },
17           hidden: Boolean,
18           meta: {
19         votes: Number,
20         favs:  Number
21       }
22 });

  如今已經定義好了Scame,那麼接下來幹嗎呢?mongoose的第二個概念就要出場了——Model。json

  Model:由Schema發佈生成的模型,具備抽象屬性和行爲的數據庫操做對。mongoose

//使用mongoose.model(modelName, schema)將定義好的Schema實例爲能夠爲咱們工做的model。
var Blog = mongoose.model('Blog', blogSchema);

  Entity:由Model建立的實體,他的操做也會影響數據庫。學習

  

   var blog1 = new blog({title:'mongoose learning',author:'yuanzp',body:'mongoose is easy to learning.'});
    //打印這個實體的名字看看
    console.log(blog1.name); //Krouky

  SchemaModelEntity的關係請牢記,Schema生成ModelModel創造EntityModelEntity均可對數據庫操做形成影響,但ModelEntity更具操做性。ui

相關文章
相關標籤/搜索