node + mongoDB

在MongoDB安裝這篇博客中已經建立了一個bella_blog的數據庫,該數據已經包含了user集合。javascript

下面就能夠在node sever端用MongoDB了。java

Mongoose庫簡而言之就是在node環境中操做MongoDB數據庫的一種便捷的封裝,一種對象模型工具,相似ORM,Mongoose將數據庫中的數據轉換爲JavaScript對象以供你在應用中使用。node

首先得安裝mongoosemysql

  npm install mongoose --savesql

而後就能夠用mongoose操做數據庫的數據了mongodb

var mongoose = require('mongoose'); //引入mongoose木塊
var db = mongoose.connect('mongodb://localhost:27017/bella_blog');//;鏈接數據庫
var Schema = mongoose.Schema;   //  建立模型
var userScheMa = new Schema({
	name: String,
	password: String
}); //  定義了一個新的模型,可是此模式還未和users集合有關聯
var UserModel = db.model('user', userScheMa,"user"); //  與users集合關聯
module.exports = UserModel;

 而後做爲一個model調用mongoose提供的api方法了。數據庫

eg:npm

UserModel.find({},function(err,docs){

  console.log(docs);

  })

  

可是這裏有一個巨大的坑。。。。。。api

find()的時候找不到user裏面的數據,一直返回[]mongoose

在MongoDB建立集合的時候,會默認的把集合名字(user)做爲複數(users).

所以有兩個解決辦法:

  一: 建立集合的時候就直接用users命名

  二:在關聯user集合時候傳入第三個參數,集合的名字,以下

    db.model('user', userScheMa,"user"); //  與users集合關聯

    若是沒有第三個參數,是find不到user集合裏面的數據

       db.model('user', userScheMa) //  與users集合關聯

相關文章
相關標籤/搜索