mongodb数据库

什么是数据库

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合;

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  返回多少数据;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值