什么是数据库
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合;
mongodb数据库
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的;
MongoDB 数据库的增删改查;
show dbs //展示所有数据库;
use 数据库名称 //创建|进入数据库 (有则进入,无则创建); 这时候直接展示所有数库并不会展示,必须王数据库里面添加数据;
db //表示当前所进入的数据库 也可以展示当前数据库
db.dropDatabase() //删除当前进入的数据库;
db.createCollections() //在当前进入的数据库中创建集合;
show collections //展示当前数据库中的所有集合;
db.collecName.drop() //删除指定的集合; collecName 集合名字;
db.collecName.insert({}) //在只当集合添加一条数据;参数是一个对象
db.collecName.update({},{}) //更新数据,参数一需要更新的数据(绝大多数通多id查找),参数二更新数据,注意:完全替换
db.collecName.replaceOne({},{}) //替换数据,单一的数据
db.collecName.replaceMany({},{}) //替换数据,多个的数据
db.collecName.remove({}) //删除数据;
db.collecName.deleteOne({}) //删除一条数据:(推荐使用);
db.collecName.deleteMany({}) //删除多个数据;
db.collecName.find() //查找全部数剧; 可传入参数,查找具体的某个值;
db.collecName.find({$or:[{},{}]}) //$or 或 第一个数据或者第二个数据;
db.collecName.find({name:/\w/}) //值也可以是个正则;
db.collecName.find({age:{$lt:30}}) //查询表中所有年龄小于30岁的人
$lt 小于 $gt 大于 $lte 小于等于 $gte 大于等于
db.collecName.find({age:{$lt:50,$gt:20}}) /查询表中50和20之间的人;
db.collecName.find({},{name:1}) //参数一查询条件,参数二查询几列
mongoose 模块
Mongoose为操作MongoDB数据库提供了很大的方便,在实际开发过程中,为了保证可扩展与可维护性,通常会将Mongoose进行模块化;
引入模块
var mongoose=require("mongoose");
链接数据库
参数一链接数据库的地址,格式如下;
参数二 配置对象,useNewUrlParser:true 是否使用的新的url解析方式解析数据库的路径,老的版本只加这一个配置就行
加上后面,useUnifiedTopology:true 为了防止连接数据库的时候出现警告
参数三回调
mongoose.connect("mongodb://127.0.0.1:27017/webSQL",{useNewUrlParser:true,useUnifiedTopology:true},function(err));
现在已经和mongodb链接了,然后就需要配置数据库的字段的数据类型才能创建表;
Schema与Model
创建表的字段类型; 参数位options 配置方法如下;
var schema=new moggose.Schema({name:String,age:Number,sex:Boolean});
如果需要在定义之后添加字段类型 可以使用shcema.add({}) 来添加options;
通过model()编译而成的构造器,具有抽象的属性和方法,具备对数据库的增删改查的操作,
我们暂且称之为表的操作对象;
var SchemaModel= mongoose.model("表的名字",schema);
添加数据
var p1= new SchemaModel({
name:"张三",
})
p1.save(function(err,data)) //将数据上传;
下面整理关于操作对象的一些api操作;
更新数据,为表更新单一的数据,$set:{} 更新的目标对象;
schemsModel.updateOne({},{$set:{}},(err,data)=>{})
更新多个表单数据
schemsModel.updateMany({},{$set:{},{}},(err,data)=>{});
deleteOne|deleteMany({}(err,data)=>{}) //删除单一或者多个数据,单一只删除第一个匹配的数据;
replaceOne|replaceMany({},{},(err,data)=>{}) //替换数据,第一个是被替换掉的,第二个添加进去的;
find()|findOne({},(err,data)=>{}) //查找数据
find().skip().limit() //跳页查询 skip 跳过多少数据 参数为 个数 limit 返回多少数据;