MongoDB数据操作

  1. 查看所有数据库

    show dbs

  2. 创建数据库/使用数据库

    use 数据库名

  3. 删除数据库

    db.dropDatabase()

  4. 查看当前数据库

    db

  5. 修改数据库名

    方案一
    //拷贝数据库
    db.copyDatabase("old_name","new_name")
    //删除原数据库
    use old_name
    db.dropDatabase()
    方案二
    db.adminCommand({renameCollection: "db1.test1", to: "db2.test2"})
    
  6. 创建表

    db.createCollection(“table_name", {capped:true, size:100000})

  7. 查看当前数据库所有表

    show collections

  8. 往表中插入数据

    db.table_name.insert({“name”:"html5"})

  9. 删除表

    db.collection.drop()

  10. 更新数据

    1. updata

      multi为true表示删除修改所有符合条件的数据,默认为false
      db.articles.update({“likes":100},{$set:{"by":"zhan"}},{multi:true})
      
    2. save

    3. 参数自加
      db.articles.update({“条件”:’值’},{$inc:{“自增字段":步长},{multi:true})

  11. 删除操作

    1表示只删除一个
    db.articles.remove({“by”:”lzhan"},1)
    删除所有数据
    db.col.remove({})
    
  12. 查询操作

    and语句
    db.col.find({key1:value1, key2:value2}).pretty()
    or语句,关键字$or
    db.col.find({$or: [{key1: value1}, {key2:value2}]}).pretty()
    $gt大于,$lt小于
    db.articles.find({"likes":{$gt:100},"likes":{$lt:1000}}).pretty()
    
  13. 修改器

  • $set
    修改器来指定一个键值,如键不存在则创建他
  • $unset
    删除一个键
  • $inc
    $inc其用来增加或减少已有的键的键值,或者在键不存在的时候创建一个键
表达式
  1. $and

    db.position.find({"title":"python开发","addr":"苏州"})
    //也可以写做
    db.position.find({$and:[{"title":"python开发"},{"addr":"苏州"}]})
    
  2. $or

    db.position.find({$or:[{"title":"python开发"},{"addr":"苏州"}]})
    
  3. $not

    db.person.find( { age: { $not: { $gt: 20 } } } )
    
  4. $nor所有列举项都不满足

    db.position.find({$nor:[{"title":"python开发"},{"addr":"苏州"}]})
    
  5. $exists查询指定字段存在的文档

    db.position.find( { phone: { $exists: true } } )
    
  6. $mod取余条件查询

    查询age字段的值除以2余0的文档:
    db.person.find( { age: { $mod: [ 2, 0 ] } } )
    
  7. $regex模糊查询,正则表达式查询

    db.position.find({"title":{$regex:/开发师/}})
    //^开头,$结尾
    db.position.find({"title":{$regex:/^python/}})
    //i不区分大小写,m忽视换行符
    db.position.find({"title":{$regex:/^python/i}})
    //可以直接写正则表达式
    db.position.find({"title":/^python/i})
    
  8. limit(),skip()

    //limit显示前两行,skip跳过前两条数据,最终显示3,4条数据
    db.position.find().limit(2).skip(2)
    
  9. sort()排序

    //1是升序,2是降序
    db.position.find().sort({"title":1})
    
  10. 索引

    //创建索引,1升序,-1降序
    db.position.ensureIndex({"title":1})
    //查看索引
    db.position.getIndexes()
    //查看索引大小
    db.position.totalIndexSize()
    //删除索引
    db.position.dropIndex("索引名")
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值