​Mongoose 基本教學(1)


  • Lv 1

    Mongoose 基本教學(1)

    首先確定你是否有安裝Node.js

    接下來教你如何使用npm安裝mongoose:

    $ npm install mongoose

    首先要在我們的專案中先引用mongoose並且使用test的資料庫。(目前都是使用本地連接localhost)

    var mongoose = require('mongoose');
    mongoose.connect('mongodb://localhost/test');

    我們需要持續的連線test資料庫,並且監看他是否執行成功或失敗。

    var db = mongoose.connection;
    db.on('error', console.error.bind(console, 'connection error:'));
    db.once('open', function() {
      // we're connected!
    });

    mongoose每次操作的時候都會基於一開始所定義的Schema,現在我們就開始定義基本的User Schema。

    var userSchema = mongoose.Schema({
        name:       String,
        email:      String,
        phone:      Number,
        createTime: {
            type:Date,
            required: true,
            default:new Date()
        }
    });


    這邊在建立Schema有兩種描述方式,一個是單純描述類型(String,Number,Date...),而另一種則上詳細描述參數內容。(

    本帖下載内容已隐藏,请登入以查看隐藏内容!
    )

    接下來我們將Schema變成Model。

    var user = mongoose.model('user', userSchema);

    Model就是我們的合約文件,當我們在操作的時候會根據當初訂的Schema進行增刪改查,接下來我們新增一個實例。

    var user_1 = new user({ 
                              name: 'babto',
                              email:'babto@qq.com',
                              phone:'18666666666'
                           });
    console.log(user_1.name); // 'babto'

    接下來我們要新增”info"方法在我們的文件中。

    userSchema.methods.info = function () {
        console.log('My name is '+ this.name);
    }
    var user = mongoose.model('user', userSchema);

    添加到模式的methods屬性的函數被編譯成Model原型並在每個文檔實例上公開:

    var user_2 = new user({
                            name: 'james',
                            email:'james@qq.com',
                            phone:'188888888888'
                           });
    user_2.info(); // "My name is james"

    我們現在其實只是單純建立資料而已並沒有將資料寫入DB,接下來是儲存的方法:

    user_2.save(function (err, docs) {
      if (err) return console.error(err);
      docs.info();// "My name is james"
    });

    接下來我們在根據電話使用查詢找一下看資料有沒有寫入:

    user_2.find({'phone':'188888888888'},function (err, docs) {
      if (err) return console.error(err); //顯示異常
      console.log(docs);
    })

    以上是間單的建立連線與存儲查詢教學。



    JamesChiu
    208337456@qq.com


  • 註冊用戶

    沒使用 mongoose,先收藏起來以後有機會再來用,感謝分享~


  • Lv 1

    @yea

    有什麼問題可以交流一下,歡迎提問。


  • 註冊用戶

    好文先收藏。

    以後要用到Mongoose時可以參考。

    感謝分享


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待