mongodb语法

Mongodb

数据查询,结果结果可以使用类似于表的结构去看,也可以使用BSON的格式去看


  • 数据查询
    • 查询单条
      db.learn.find({‘name’:’my’})
    • 查询所有
      db.collectionname.find( query, projection )

query 查询条件,也是一个BSON对象样式{ key:value}
projection 获取的最终字段,也是一个BSON对象 { key: value} ,value 是 0 和 1,不显示某一字段,1代表某一字段
0 标识某一字段,代表不显示某一字段,如果只有0出现,意味着其余字段都显示
1 标识某一字段,代表显示某一字段,如果只有1出现,意味着只显示标识的字段,_id会显示
查询条件的value值,支持正则表达式,实际上实现的就是关系型数据库中的模糊查询,类似于like
query的值
等于 {key:value}
小于       {key:{$lt:value}}
小于等于    {key:{$lte:value}}
大于      {key:{$gt:value}}
大于等于      {key:{$gte:value}}
不等于      {key:{$ne:value}}

 1, 多条件 与 ( and )使用,就是find(query) 中包含多个key-value
    db.learn.find({'name':'lzy','age':18})
 2, 多条件 或 ( or ) 使用 ,就是查询中 使用\$or ,$or对应的是列表,列表中方的是query
    db.learn.find({$or:[{'age':18},{'age':34}]})
3, 排序 对结果集进行sort( con ), con也是 BSON的key-value,key就是排序字段,value 1和-11代表升序,-1代表降序,排序的时候注意使用数值型或时间型
    db.learn.find().sort({'age':1})
4, 限制结果集,使用limit( num ),限制结果集为多少条,最多为 num 条
    db.learn.find().limit(2)
5, 跳过指定结果数,使用skip( num )跳过结果集多少条
    db.learn.find().skip(4)
6, 当同时使用 sort,limit,skip时,不管顺序先后,都是按照 sort,skip,limit进行执行的
    db.learn.find().limit(2).sort({'age':1}).skip(1)
7, 聚合函数 aggregate() , [ { $group : { "_id" : null , "age_avg" : {$avg : "$age" } } }  ] ,求这一组的平均年龄,avg,sum,max,min,fisrt,last
    使用小窍门,key-valuevalue只要不是具体的,直接的值,就需要冒号之后使用 大括号 {  }
    db.learn.aggregate([{$group:{'_id':null,age_sum:{$sum}])
  1. 数据删除 db.collectionname.deleteOne( query )
    • 删除一条数据,第一条匹配到的数据
      db.learn.deleteOne({‘name’:’aa’})
  2. 数据删除 db.collectionname.deleteMany( query )
    • 删除所有匹配数据,query 就是一个BSON对象, { key : value }
      db.learn.deleteMany({‘name’:’aa’})
  3. 数据删除 remove移除数据,db.collectionname.remove(query,{ justOne:false } )
    • 删除数据,默认删除所有满足条件的数据
    • 也可以配置参数,第二个BSON可以配置 justOne: true
      db.person.remove({‘name’:’ws’})
      只删除一个
      db.person.remove({‘name’:’ws’},{justOne:true})
  4. 数据更新 db.collectionname.update( query,update,{ 配置参数 } )
    • query 更新条件,key-value
    • update, 需要使用{$set : { key : value}}
    • 配置参数,默认只变更匹配到的第一条数据,如果想改变多条,需要使用 { multi : true}
    db.person.update({'name':'ws'},{$set:{'age':999}})
    db.person.update({'name':'lzy'},{$set:{'age':999}},{multi:true})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值