1.mongoldb 安装(mac)
cd /usr/local
sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.2.tgz
sudo tar -zxvf mongodb-osx-x86_64-3.4.2.tgz
sudo mv mongodb-osx-x86_64-3.4.2 mongodb
2.运行mongoldb
sudo mkdir -p /data/db
sudo mongod
cd /usr/local/mongodb/bin
sudo ./mongod
重新打开一个命令窗口
cd /usr/local/mongodb/bin
$ ./mongo
增
3.使用数据库,创建数据库
use 数据库名称
4.创建数据库集合
use 数据库名称 --> 进入该数据库
db.集合(表)名.insert({‘key’:’value’}) — 给表插入数据也是这个操作
删
5.删除集合(表) —— 比如删除student数据库下的admin表
use student
db.admin.drop()
6.删除数据库
(1) 当我们将数据库下对应的表都删除的时候,我们再通过show dbs是查询不到这个数据库2的
(2)我们也可以直接通过命令删除 比如删除student数据库。
use student
db.dropDatabase()
7.删除数据
db.admin.remove({‘name’:’wangwu666’})
注:上述操作,默认是将表中满足条件的数据都删除,而如果我们只是想删除其中的一条数据的话,那么需要如下写法:
db.admin.remove({‘name’:’wangwu666’},{justOne: true})
改
8.更改数据 —— db.表名.update({条件},{$set: {改成啥样}}})
db.admin.update({'name':'wangwu'},{$set: { 'name': 'wangwu666' }})
注:update有四个参数
where:类似于sql中的update 语句where后边的查询条件
setNew:类似于sql中update语句中set后边的部分,也就是你要更新的部分
upsert:如果要更新的那条记录没有找到,是否插入一条新纪录,默认为false不插入,true为插入
multi :是否更新满足条件的多条的记录,false:只更新第一条,true:更新多条,默认为false
所以,如果按照上边的写法,那么如果表中存在两条name为wangwu的数据的话, 也只会将第一条数据的name值改成wangwu666,而要想实现多条数据的修改的话,需要将第四个参数设置为true:
db.admin.update({'name':'wangwu'},{$set: { 'name': 'wangwu666' }}, false, true)
查
9.查看对应数据库下集合
user 数据库
show collections
10.查看对应表内有哪些数据
db.表名.find()
11.查找
(1)查找admin表中年龄为20的
db.admin.find({‘age’: 20})
(2)查找admin表中年龄大于20的
db.admin.find({‘age’:{ $gt:20 }})
(3)查找admin表中年龄小于20的
db.admin.find({‘age’:{ $lt:20 }})
(4)查找admin表中年龄小等于20的
db.admin.find({‘age’:{ $lte:20 }})
(5) 查看admin中年龄介于20到24岁之间的
db.admin.find({‘age’: { $gte:20,$lte:24 }})
(6) 模糊查询
db.admin.find({‘title’: /需要模糊查找的信息/})
(7)查找以什么开头的信息
db.admin.find({‘title’: /^测试/})
(8)指定列查询 — 假设数据为{‘name’:’zs’,’age’:12},我只需要展示{‘name’:’zs’}
db.admin.find({},{‘name’:1}) —— 第一个参数为查询条件, 第二个参数为指定要展示的列
(9)顺序/倒序
db.admin.find({}).sort({‘age’: 1}) —— 1为从小到大,-1为从大到小
(10)查询前几条数据
db.admin.find().limit(2)
(11)查找2-5这4条数据 —— skip(数字)表示跳过前几条数据
db.admin.find().skip(1).limit(4)
注: 可以用于分页,limit表示的是pageSize,skip表示的是第几页*pageSize
(12) 查找满足条件一或者条件二的数据
db.admin.find({$or:[{'name':'zhangsan'},{'name':'zhaoli'}]})
(13) 统计满足条件的数据的数量
db.admin.find().count()