mongoDb的增删改查

mongoDB使用的是一种与json数据类似的数据结构,称为bson(Binary Json)


查看所有的数据 库

show dbs


通过use 关键字切换数据库

user admin


创建 数据库
在mongoDb中数据库是自动创建的,通过use切换到新的数据库中,进行数据即可自动创建数据库


查看表

show tables
show collections

删除表, 返回true表示删除成功,返回false表示删除失败

tables.user.drop()

删除数据库
先进入到需要删除的数据库中

db.dropDatabase()


#插入数据,下面的两种的效果是一样的

db.user.insert(document)
db.user.save(document)


数据查找

db.user.find()

 


数据更新

db.collection.update( 
    <query>, 
    <update>, 
    [ 
        upsert: <boolean>, 
        multi: <boolean>, 
        writeConcern: <document> 
    ] 
) 


参数说明: 
query : update的查询条件,类似sql update查询内where后面的。 
update : update的对象和一些更新的操作符(如 inc...)等,也可以理解为sql update查询内set后面的 
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是 false,不插入。 
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。 
writeConcern :可选,抛出异常的级别。(使用得非常的少)

// 这里修改数据 的时候一定需要使用$set进行修改数据


// 修改不存在 的字段时,为添加字段操作


// 更新数据 时,默认不会新增数据,

// 设置第一个参数为true,则更新不存在的数据就为添加操作


删除数据
通过remove()进行数据 的删除

db.collection.remove( 
    <query>, 
    { 
        justOne: <boolean>, 
        writeConcern: <document> 
    } 
) 


参数说明: 
query :(可选)删除的文档的条件。 
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。 
writeConcern :(可选)抛出异常的级别。

// 第一个参数为true则只会删除匹配的第一条数据

没有测试


// 设置remove为不传入数据,则表示删除所有的数据

 

为了简化操作,在官方推荐使用deleteOne()与deleteMany()进行数据的删除操作

db.user.deleteOne({id:1})
de.user.deleteMany({}) #删除所有的数据

数据的查询

db.user.find([query], [fields])

query :可选,使用查询操作符指定查询条件 
fifields :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

// 如果需要以易读的方式 来读取数据,可以使用pretty()方法,语法格式如下

db.col.find().pretty()



#只查询id与username字段

 db.user.find({}, {id:1, username:1})


 

#查询数据的条数

 db.user.find().count()


#查询id为1的数据
db.user.find({id:1})

#美化数据 的输出

#查询年龄小于20的数据


#and查询,age小于等于21并且id大于等于2 
db.user.find({age:{$lte:21}, id:{$gte:2}})
#查询id=1 or id=2 
db.user.find({$or:[{id:1},{id:2}]}) 

#分页查询:Skip()跳过几条,limit()查询条数 
db.user.find().limit(2).skip(1) #跳过1条数据,查询2条数据 
db.user.find().sort({id:-1}) #按照age倒序排序,-1为倒序,1为正序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值