在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集合关联