MongoDB

MongoDB

启动数据库

  1. mongodb默认监听27017这个接口,端口号经量4位以上
  2. ***mongod --dbpath 路径 --port 端口号(小于65535)***意思启动数据库并且把是把上面目录设置为路径路径

数据库

  • 数据库服务器
    • 服务器是用来保存数据的
    • mongod用户来启动服务器
  • 数据库客户端
    • 客户端用来操作服务器,对数据进行增删改查
    • mongo用来启动客户端

-将MongoDB设置为系统服务,可以自动在后台启动,不需要每次手动启动


基本语法

  • show database 看有几个数据库
  • use admin 使用admin数据库(注意在MongoDB中使用不存在的数据库不会报错,后期当该数据库有数据时,系统会自动创建)
  • show collections 看有哪些集合
  • db.createCollection(‘集合名’)创建一个集合(要先输入show collections才可以创建)
  • db.集合名.drop;删除集合

语法:db.集合名.insert(JSON数据)
说明:集合存在则直接插入数据,集合不存在隐式创建

  • 插入时数据库集合不存在会隐式创建
  • 对象的键统一不加引号方便看,但是查看集合数据系统会自动加
  • mongodb会给每条数据一个唯一的id键(可以在JSON中_id强行命名id值)

插入多条数据
传递数组,数组中写一个个JSON数据即可

db.c1.insert([
	{uname:"z3",age:3},
	{uname:"z4",age:4},
	{uname:"z5",age:5}
])

插入10条数据
mongoDB底层使用js实现的,所以支持部分js语法

for(var i=0;i<10;i++){
db.c2.insert({uname:"a"+i,age:i})
}

基础语法 db.集合名.find(条件[,查询的列])
***db.c1.find({},{uname:1})***(例子)
条件
查询所有数据 {}或者不写
查询age=6的数据 {age:6}
既要age=6又要性别=男 {age:6,sex:‘男’}

查询列(可选参数)
不写 查询所有字段
{age:1} 只显示age列(字段)
{age:0} 除了age列(字段都显示

条件语法

基础语法 db.集合名.find({键:值})
条件语法 基础语法 db.集合名.find({
键:{运算符:值}
})
在这里插入图片描述

***db.c1.find({age:{$gt:5}})***(例子大于5的数据)

db.c2.find({age:{$in:[5,8,10]}}) (例子只有5,8,10的数据)

***db.c2.find({age:1},{age:1})***(显示age=1的age)


基础语法:db.集合名.updata(条件,新增数据[,是否新增,是否修改])

是否新增:指条件匹配不到数据则插入,true是插入,false否不插入默认

是否修改多条值:指将匹配成功的数据都修改(true是,false否默认)

for(var i=1;i<=10;i++){
	db.c3.insert({uname:'zs'+i,age:i});
}

升级语法
db.集合名.update(条件,新数据){修改器:{键:值}}

在这里插入图片描述

  • 使用修改器
    使用修改器把zs2的姓名改为zs22
    db.c3.update({uname:“zs2”},{$set:{uname:“zs22”}})(默认修改第一条)

  • 给zs10增加2岁
    db.c3.update({uname:“zs10”},{$inc:{age:2}})

  • 插入数据:db.c4.insert({uname:“神龙教主”,age:888,who:“男”,other:“非国人”})
    完成需求
    unaem改成webopenfather (修改器: s e t ) a g e 增 加 111 ( 修 改 器 : set) age增加111(修改器: setage111inc)
    who改字段sex(修改器: r e n a m e ) o t h e r 删 除 ( 修 改 器 : rename) other删除(修改器: rename)other(unset)
    语法
    db.c4.update({uname:“神龙教主”},{
    $set:{uname:“wobopenfather”},
    $inc:{age:111},
    $rename:{who:“sex”},
    $unset:{other:true}
    })

  • 后面写true找不到就插入不写默认false
    db.c4.update({uname:“zs30”},{$set:{age:30}},true)

第二个参数false只改一条如果true改多条
db.c3.update({},{$set:{age:10}},false,false)


语法:db.集合名.remove(条件[,是否删除一条])
注意:是否删除一条true是,false否(默认)

  • db.c3.remove({},true)
    删除一条数据

总结

所有数据库都需要增删改查CURD标识
MongoDB删除用:remove

增Create

db.集合名.insert(JSON数据)

删 Delete

db.集合名.remove(条件[,是否删除一条true,false删除多条(默认)])

改 Update

db.集合名.update(条件,新数据[,是否新增,是否修改多条])

升级语法:db.集合名.update(条件,{修改器:{键:值}})

查Read

db.集合名.find(条件,[,查询的列])

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值