您的位置:首页 > 数据库 > Mongodb

使用 mongoose 操作 MongoDB 数据库之 增删改查

2018-01-26 09:47 513 查看
一、前言

CRUD

①正如Java语言里边使用JDBC操作MySQL,JavaScript则使用Node.js操作数据库,

②而Java操作数据一般不用原生的JDBC代码,包装好JDBC的框架提供了众多的选择,如DbUtils,Spring的JDBCTemplateHibernateMyBatis

③类似Java里边连接数据的框架,Node.js则使用模块,而个人感觉最符合人性的就是mongoose模块了。

二、Mongoose之CRUD

mongoose的CRUD主要有两种方法,分别是Model的CRUD和Document的CRUD,本文义Model为例,其实Document也和它差不多,都在Mongoose的包装下非常简单。

之前有一篇是

MongoDB数据库里边的CRUD

现在把里边的常用的CRUD改为基于Mongoose的CURD

1、下面写个简单的增例子,侧重点在于使用 Mongoose 操作 MongoDB 的步骤,每个步骤都给出注释

//1、连接数据库
var mongoose =require("mongoose");
mongoose.connect("mongodb://localhost/test");//test为MongoDB的一个数据库名
mongoose.connection.once("open",function () {
console.log("数据库连接了");
})

//2、将mongoose.Schema 赋值给一个变量
var Schema = mongoose.Schema;

//3、创建schema
var userSchema=new Schema({
name:String,
password:String
});

//4、根据schema,创建model
var userModel=mongoose.model("users",userSchema);

//5、根据schema约束,插入数据
userModel.create({
name:"55开",
password:"kaigua"
},function (err) {
if(!err){
console.log("插入成功");
}
});


注意 Mongoose 不是 node 自带的模块,需要事先下载,这里推荐使用编译器 webstorm

①先在项目的根目录下new一个package.json,

②再在webstorm下面 Terminal,



输入如下语句回车,让它下载完毕就好了

npm install mongoose --save


③如果你使用其他low的编译器,就使用ctrl+R,打开cmd,cd 到当前项目目录下,使用 npm init,让它自动生成一个package.json文件,再使用 npm install mongoose –save,下载模块到当前项目下,

④其他:

Ⅰ、命令中的 install 可以省略为
i
,即
npm i --save


Ⅱ、
--save
的目的是使添加的模块被自动加入 package.json 依赖中,如下:

{
"name": "application-name",
"version": "0.0.1",
"dependencies": {
"mongoose": "^5.0.1"
}
}


Ⅲ、准备工作后项目的架构如下



三、CRUD 代码

这里的代码写在 mongoose.js 中

有了上面的准备工作,就可以进入下面的主题了,其实内容也不多。

//0、连接数据库准备工作
var mongoose =require("mongoose");
mongoose.connect("mongodb://localhost/test");
mongoose.connection.once("open",function () {
console.log("数据库连接了");
})
var Schema = mongoose.Schema;
var userSchema=new Schema({
name:String,
password:String
});
var userModel=mongoose.model("users",userSchema);

//1、增加
userModel.create({
name:"55开",
password:"kaigua"
},function (err) {
if(!err){
console.log("插入成功");
}
});
//2、查询
userModel.find({name:"55开"},function(err,docs){
if(!err){
console.log(docs);
}
});
//3、修改
userModel.updateMany({name:"55开"},{$set:{password:"lubenweiwudi"}},function (err) {
if(!err){
console.log("修改成功");
}
});
//4、删除
userModel.deleteMany({name:"55开"},function (err) {
if(!err){
console.log("删除成功");
}
});


四、小结

详情请看:Mongoose CRUD操作官方文档
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: