node + mongoDB

在MongoDB安装这篇博客中已经创建了一个bella_blog的数据库,该数据已经包含了user集合。

下面就可以在node sever端用MongoDB了。

Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用。

首先得安装mongoose

  npm install mongoose --save

然后就可以用mongoose操作数据库的数据了

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:

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

  console.log(docs);

  })

  

但是这里有一个巨大的坑。。。。。。

find()的时候找不到user里面的数据,一直返回[]

在MongoDB创建集合的时候,会默认的把集合名字(user)作为复数(users).

因此有两个解决办法:

  一: 创建集合的时候就直接用users命名

  二:在关联user集合时候传入第三个参数,集合的名字,如下

    db.model('user', userScheMa,"user"); //  与users集合关联

    如果没有第三个参数,是find不到user集合里面的数据

       db.model('user', userScheMa) //  与users集合关联


posted @ 2017-06-02 16:33  快饿死的鱼  阅读(258)  评论(0编辑  收藏  举报