网站建设投标书 技术架构,网站建设前的市场分析,重庆高铁建设网站,网站做301跳转的方法一、mongoose 介绍
Mongoose 是在 node.js 异步环境下对 mongodb 进行便捷操作的对象模型工具。Mongoose 是 NodeJS 的驱动#xff0c;不能作为其他语言的驱动。
Mongoose 有两个特点 #xff1a; 1、通过关系型数据库的思想来设计非关系型数据库 2、基于 mongodb 驱动不能作为其他语言的驱动。
Mongoose 有两个特点 1、通过关系型数据库的思想来设计非关系型数据库 2、基于 mongodb 驱动简化操作
二、mongoose 的安装以及使用
官网https://mongoosejs.com/
安装 npm i mongoose --save引入 mongoose 并连接数据库
const mongoose require(mongoose);
mongoose.connect(mongodb://localhost/test);
如果有账户密码需要采用下面的连接方式
mongoose.connect(mongodb://eggadmin:123456localhost:27017/eggcms?authSourceadmin);3、定义 Schema 数据库中的 Schema为数据库对象的集合。schema 是 mongoose 里会用到的一种数据模式 可以理解为表结构的定义
每个 schema 会映射到 mongodb 中的一个 collection它不具备 操作数据库的能力
var UserSchemamongoose.Schema({ name: String, age:Number, status:number
})4、创建数据模型 定义好了 Schema接下就是生成 Model。 model 是由 schema 生成的模型可以对数据库的 操作。
注意mongoose.model 里面可以传入两个参数也可以传入三个参数 mongoose.model参数 1:模型名称首字母大写参数 2:Schema mongoose.model参数 1:模型名称首字母大写参数 2:Schema参数 3:数据库集合名称
如果传入 2 个参数的话:这个模型会和模型名称相同的复数的数据库建立连接如通过下面 方法创建模型那么这个模型将会操作 users 这个集合。
var Usermongoose.model(User, UserSchema);如果传入 3 个参数的话:模型默认操作第三个参数定义的集合名称
5、查找数据
User.find({},function(err,docs){ if(err){console.log(err); return; }console.log(docs);
})6、增加数据
var unew User({ //实例化模型 传入增加的数据 name:lisi2222333, age:20, status:true
})
u.save(); 7、修改数据
User.updateOne({ name: lisi2222 }, { name: 哈哈哈 }, function(err, res) { if(err){console.log(err); return; }console.log(成功)
}); 8、删除数据
User.deleteOne({ _id: 5b72ada84e284f0acc8d318a }, function (err) { if (err) { console.log(err); return; }// deleted at most one tank document console.log(成功);
});9、保存成功查找
var unew User({ name:lisi2222333, age:20, status:true //类型转换
}) u.save(function(err,docs){ if(err){console.log(err); return; }//console.log(docs); User.find({},function(err,docs){ if(err){console.log(err); return; }console.log(docs); })
});// 1.引入
const mongoose require(mongoose)// 2.建立连接
mongoose.connect(mongodb://admin:admin127.0.0.1:27017/eggcms?authSourceadmin)// 3.操作users表集合 定义一个Schema
// Schema里面的对象和数据库里面表的字段需要一一对应var UserSchema mongoose.Schema({name: String,age: Number,status: Number
})
// 4.定义数据库模型操作数据库
// model里面的第一个参数
// 1.首字母大写
// 2.要和数据库表集合名称对应
var User mongoose.model(User, UserSchema, users)// 5.查询users表的数据
// User.find({}, function(err, data) {
// if(err) {
// console.log(err)
// return;
// }// console.log(data)
// })// 6.增加数据
// 6.1 实例化Model 通过实例化User Model 创建增加的数据
// var u new User({
// name: 里斯,
// age: 20,
// status: 1
// });// 6.2 实例.save()
// u.save(function(err) {
// if(err) {
// console.log(err)
// return;
// }
// console.log(增加数据成功)
// }); // 执行增加操作// 7.更新数据
// User.updateOne({ _id: 607ab2dcf07e0000e40057a2 }, { name: 曾鹏 }, function (err, data) {
// if (err) {
// console.log(err)
// return;
// }
// console.log(data)
// })// 8.删除数据
User.deleteOne({ _id: 607ab2dcf07e0000e40057a2 }, (err, result){if (err) {console.log(err)return;}console.log(result)
}) 三、mongoose 模块化