node学习(8)-- mongodb的增删改查

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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值