简介
- mongoose : Mongoose库简而言之就是对node环境中MongoDB数据库操作的封装。一种对象模型工具,可以将数据库中的数据转换为JavaScript对象供我们使用。对mongodb操作变的简单方便。
- mongoose是基于promise开发的,所有promise方法都可以使用。
使用步骤
1.下载安装 : npm i -S mongoose
2.引入并且创建连接
代码实现
var mongoose = require('mongoose');
//连接数据库
mongoose.connect('mongodb://localhost:27017/music',{ useNewUrlParser: true , useUnifiedTopology: true },(err)=>{
if(err){
console.log('数据库连接失败!!!');
return;
}
console.log('数据库连接成功!!!');
//schema 就是规范集合(表)的字段类型和值的,利用schema定义集合。
var musicListSchema = mongoose.Schema({
musicname : String,
musicsiger : String,
//default为默认值
sigerage : { type : Number , default : 0 },
date : { type : Date , default : new Date() },
//unique规定了值的唯一性
email : { type : String , unique : true }
});
//Model 是由schema生成的模型,可以对数据库进行操作。创建集合。
var MusicListModel = mongoose.model('musicList' , musicListSchema , 'haha');
//以下为数据库的增删改查可以根据项目需求选择使用
//数据库的添加操作 : 单条
MusicListModel({
musicname : "稻香7",
musicsiger : "周杰伦7",
email : "888666@qq.com"
}).save().then((res)=>{
console.log(res); // 返回的就是添加成功的这条数据
}).catch((err)=>{
//console.log(err);
if(err){
console.log('数据添加失败');
}
});
//数据库的添加操作 : 多条
MusicListModel.insertMany([
{
musicname : "稻香",
musicsiger : "周杰伦",
sigerage : 42
},
{
musicname : "稻香",
musicsiger : "周杰伦",
sigerage : 43
}
]).then((res)=>{
console.log(res); // 返回的就是添加成功的数组格式的数据
}).catch((err)=>{
console.log(err);
});
//查询:find()
MusicListModel.find().then((infos)=>{
console.log(infos); // 查询所有数据,并返回一个数组类型。
});
MusicListModel.findOne().then((info)=>{
console.log(info); // 查询一条数据的结构,返回对象类型。
});
MusicListModel.find({"sigerage":"42"}).then((infos)=>{
console.log(infos); // 查询所有数据,并返回一个数组类型。
});
//find的第一个参数:是查询条件,第二个参数:返回指定的字段
MusicListModel.find({},{"sigerage":1}).skip(1).limit(3).then((infos)=>{
console.log(infos); // 查询所有数据,并返回一个数组类型。
});
//更新数据
MusicListModel.update({},{$set : {"musicname":"七里香"}}).then((info)=>{
console.log(info); //
});
//删除数据
//删除一条数据
MusicListModel.deleteOne({}).then((info)=>{
console.log(info);
});
//删除所有数据
MusicListModel.remove().then((info)=>{
console.log(info);
});
});