这里仅记录一下mongoose的基本用法,个人觉得以下这篇文章讲解的还算挺仔细的:
http://cnodejs.org/topic/504b4924e2b84515770103dd
使用mongoose的步骤:
1.先安装mongoose模块
npm install mongoose -save
2.连接数据库
const moogoose=require('mongoose');
moogoose.connect('mongodb://localhost/test');
*node.js开发错误——DeprecationWarning: Mongoose: mpromise*
使用mongoose进行数据库操作时,总是提示:
(node:5684) DeprecationWarning: Mongoose: mpromise (mongoose’s default promise library) is deprecated, plug in your own promise library instead:
在连接后添加代码:
moogoose.Promise = global.Promise;
3.创建connection对象
conncetion包含所需的事件
const db=moogoose.connection;
4.打开本地的mongodb数据库
db.once('open',function () {
});
4.在open事件的回调函数中创建Schema,model,Entity
Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力(类似与mysql中的字段名称的定义)
Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作
Entity : 由Model创建的实体,他的操作也会影响数据库
Schema、Model、Entity的关系请牢记,Schema生成Model,Entity是modele的实例,Model和Entity都可对数据库操作造成影响,但Model比Entity更具操作性。
db.once('open',function () {
var userSchema=new moogoose.Schema({
username:{type:String,unique:true},
password:Number
},
{collection:'job'} //表名
);
const user=moogoose.model('job',userSchema);//第一个参数与Schema的collection属性相同
var people = new user({ usename:'wangwu',password:123456}); //Entity
people.save(function(err, doc){
if(err)console.log(err);
// else console.log(username + ' saved');
});
});
单条数据插入数据库的完整代码如下:
/**
* Created by zhaohuan on 2017/5/30.
*/
const moogoose=require('mongoose');
moogoose.connect('mongodb://localhost/test');
moogoose.Promise = global.Promise;
const db=moogoose.connection;
db.once('open',function () {
var userSchema=new moogoose.Schema({
username:{type:String,unique:true},
password:Number
},
{collection:'job'}
);
var user=moogoose.model('job',userSchema);
var people = new user({ usename:'wangwu',password:123456});
people.save(function(err, doc){
if(err)console.log(err);
// else console.log(username + ' saved');
});
});