Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 197|回复: 0

[默认分类] MongoDB数据表基本操作

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-5-27 16:37:13 | 显示全部楼层 |阅读模式
    查看全部数据表


      >
       use ChatRoom
    switched to db ChatRoom

      >
       show collections
    Account
    Chat
    system.indexes
    system.users
      

      
    创建数据表


      >
       db.createCollection(
      "
      Account
      "
      )
    {
      "
      ok
      "
      :
      1
      }
      

      


      >
       db.createCollection(
      "
      Test
      "
      ,{capped:true, size:
      10000
      }) {
      "
      ok
      "
       :
      1
       }
      
       

      {
      "
      ok
      "
      :
      1
      }
      

    -- 说明
    capped:true,表示该集合的结构不能被修改;
    size:在建表之初就指定一定的空间大小,接下来的插入操作会不断地按顺序APPEND数据在这个预分配好空间的文件中,如果已经超出空间大小,则回到文件头覆盖原来的数据继续插入。这种结构保证了插入和查询的高效性,它不允许删除单个记录,更新的也有限制:不能超过原有记录的大小。这种表效率很高,它适用于一些暂时保存数据的场合,比如网站中登录用户的session信息,又比如一些程序的监控日志,都是属于过了一定的时间就可以被覆盖的数据。
      
    修改数据表名


      >
       db.Account.renameCollection(
      "
      Account1
      "
      )
    {
      "
      ok
      "
       :
      1
       }
      


    数据表帮助主题help


      >
       db.Account.help()
    DBCollection help
             db.Account.find().help()
      -
       show DBCursor help
             db.Account.count()
             db.Account.dataSize()
             db.Account.distinct( key )
      -
       eg. db.Account.distinct(
      "
      x
      "
       )
             db.Account.drop() drop the collection
             db.Account.dropIndex(name)
             db.Account.dropIndexes()
             db.Account.ensureIndex(keypattern[,options])
      -
       options
      is
       an object with these possible fields: name, unique, dropDups
             db.Account.reIndex()
             db.Account.find([query],[fields])
      -
       query
      is
       an optional query filter. fields
      is
       optional set of fields to
      return
      .
                                                           e.g. db.Account.find( {x:
      77
      } , {name:
      1
      , x:
      1
      } )
             db.Account.find(...).count()
             db.Account.find(...).limit(n)
             db.Account.find(...).skip(n)
             db.Account.find(...).sort(...)
             db.Account.findOne([query])
             db.Account.findAndModify( { update : ... , remove : bool [, query: {}, sort: {},
      "
      new
      "
      : false] } )
             db.Account.getDB() get DB object associated with collection
             db.Account.getIndexes()
             db.Account.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } )
             db.Account.mapReduce( mapFunction , reduceFunction ,
      <
      optional params
      >
       )
             db.Account.remove(query)
             db.Account.renameCollection( newName ,
      <
      dropTarget
      >
       ) renames the collection.
             db.Account.runCommand( name ,
      <
      options
      >
       ) runs a db command with the given name where the first param
      is
       the collection name
             db.Account.save(obj)
             db.Account.stats()
             db.Account.storageSize()
      -
       includes free space allocated to this collection
             db.Account.totalIndexSize()
      -
       size
      in
       bytes of all the indexes
             db.Account.totalSize()
      -
       storage allocated
      for
       all data
      and
       indexes
             db.Account.update(query, object[, upsert_bool, multi_bool])
             db.Account.validate()
      -
       SLOW
             db.Account.getShardVersion()
      -
       only
      for
       use with sharding
      


    查看全部表记录  


      >
       db.Account.find()
    {
      "
      _id
      "
       : ObjectId(
      "
      4df08553188e444d001a763a
      "
      ),
      "
      AccountID
      "
       :
      1
      ,
      "
      UserName
      "
       :
      "
      libing
      "
      ,
      "
      Password
      "
       :
      "
      1
      "
      ,
      "
      Age
      "
       :
      26
      ,
      "
      Email
      "
       :
      "
      libing@126.com
      "
      ,
      "
      RegisterDate
      "
       :
      "
      2011-06-09 16:31:25
      "
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df08586188e444d001a763b
      "
      ),
      "
      AccountID
      "
       :
      2
      ,
      "
      UserName
      "
       :
      "
      lb
      "
      ,
      "
      Password
      "
       :
      "
      1
      "
      ,
      "
      Age
      "
       :
      25
      ,
      "
      Email
      "
       :
      "
      libing@163.com
      "
      ,
      "
      RegisterDate
      "
       :
      "
      2011-06-09 16:36:95
      "
       }
      



    --SELECT * FROM Account


    说明:


    默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数据。

    可以通过DBQuery.shellBatchSize设置每页显示数据的大小。如:DBQuery.shellBatchSize = 5,这样每页就显示5条记录了。




      >
       db.Test.find()
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d55407444568af61cfea
      "
      ),
      "
      TestID
      "
       :
      1
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d55907444568af61cfeb
      "
      ),
      "
      TestID
      "
       :
      2
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d55b07444568af61cfec
      "
      ),
      "
      TestID
      "
       :
      3
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d55e07444568af61cfed
      "
      ),
      "
      TestID
      "
       :
      4
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d56207444568af61cfee
      "
      ),
      "
      TestID
      "
       :
      5
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d56507444568af61cfef
      "
      ),
      "
      TestID
      "
       :
      6
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d56807444568af61cff0
      "
      ),
      "
      TestID
      "
       :
      7
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d56b07444568af61cff1
      "
      ),
      "
      TestID
      "
       :
      8
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d56e07444568af61cff2
      "
      ),
      "
      TestID
      "
       :
      9
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d57a07444568af61cff3
      "
      ),
      "
      TestID
      "
       :
      10
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d57d07444568af61cff4
      "
      ),
      "
      TestID
      "
       :
      11
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d58007444568af61cff5
      "
      ),
      "
      TestID
      "
       :
      12
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d58307444568af61cff6
      "
      ),
      "
      TestID
      "
       :
      13
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d58e07444568af61cff7
      "
      ),
      "
      TestID
      "
       :
      14
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d59207444568af61cff8
      "
      ),
      "
      TestID
      "
       :
      15
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d59607444568af61cff9
      "
      ),
      "
      TestID
      "
       :
      16
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d59c07444568af61cffa
      "
      ),
      "
      TestID
      "
       :
      17
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d5a307444568af61cffb
      "
      ),
      "
      TestID
      "
       :
      18
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d5a607444568af61cffc
      "
      ),
      "
      TestID
      "
       :
      19
       }

      >
       DBQuery.shellBatchSize

      20
      

      >
       DBQuery.shellBatchSize
      =
       
      5
      

      5
      

      >
       db.Test.find()
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d55407444568af61cfea
      "
      ),
      "
      TestID
      "
       :
      1
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d55907444568af61cfeb
      "
      ),
      "
      TestID
      "
       :
      2
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d55b07444568af61cfec
      "
      ),
      "
      TestID
      "
       :
      3
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d55e07444568af61cfed
      "
      ),
      "
      TestID
      "
       :
      4
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d56207444568af61cfee
      "
      ),
      "
      TestID
      "
       :
      5
       }
    has more

      >
       it
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d56507444568af61cfef
      "
      ),
      "
      TestID
      "
       :
      6
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d56807444568af61cff0
      "
      ),
      "
      TestID
      "
       :
      7
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d56b07444568af61cff1
      "
      ),
      "
      TestID
      "
       :
      8
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d56e07444568af61cff2
      "
      ),
      "
      TestID
      "
       :
      9
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d57a07444568af61cff3
      "
      ),
      "
      TestID
      "
       :
      10
       }
    has more

      >
       it
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d57d07444568af61cff4
      "
      ),
      "
      TestID
      "
       :
      11
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d58007444568af61cff5
      "
      ),
      "
      TestID
      "
       :
      12
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d58307444568af61cff6
      "
      ),
      "
      TestID
      "
       :
      13
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d58e07444568af61cff7
      "
      ),
      "
      TestID
      "
       :
      14
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d59207444568af61cff8
      "
      ),
      "
      TestID
      "
       :
      15
       }
    has more

      >
       it
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d59607444568af61cff9
      "
      ),
      "
      TestID
      "
       :
      16
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d59c07444568af61cffa
      "
      ),
      "
      TestID
      "
       :
      17
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d5a307444568af61cffb
      "
      ),
      "
      TestID
      "
       :
      18
       }
    {
      "
      _id
      "
       : ObjectId(
      "
      4df6d5a607444568af61cffc
      "
      ),
      "
      TestID
      "
       :
      19
       }

      >
       it
    no cursor



    查询一条记录


      >
       db.Account.findOne()
    {
            
      "
      _id
      "
       : ObjectId(
      "
      4ded95c3b7780a774a099b7c
      "
      ),
            
      "
      UserName
      "
       :
      "
      libing
      "
      ,
            
      "
      Password
      "
       :
      "
      1
      "
      ,
            
      "
      Email
      "
       :
      "
      libing@126.cn
      "
      ,
            
      "
      RegisterDate
      "
       :
      "
      2011-06-07 11:06:25
      "
      
    }


    --SELECT TOP 1 * FROM Account


    查询聚集中字段的不同记录


      >
       db.Account.distinct(
      "
      UserName
      "
      )


    --SELECT DISTINCT("UserName")  FROM Account


    查询聚集中UserName包含“keyword”关键字的记录



      db.Account.find({
      "
      UserName
      "
      :
      /
      keyword
      /
      })


    --SELECT * FROM Account WHERE UserName LIKE "%keyword%"


    查询聚集中UserName以"keyword" 开头的记录



      >
       db.Account.find({
      "
      UserName
      "
      :
      /^
      keyword
      /
      })


    --SELECT * FROM Account WHERE UserName LIKE "keyword%"


    查询聚集中UserName以“keyword”结尾的记录



      >
       db.Account.find({
      "
      UserName
      "
      :
      /
      keyword$
      /
      })


    --SELECT * FROM Account WHERE UserName LIKE "%keyword"


    查询聚集中指定列


      >
       db.Account.find({},{
      "
      UserName
      "
      :
      1
      ,
      "
      Email
      "
      :
      1
      })    --1:true



    --SELECT UserName,Email FROM Account

    查询聚集中排除指定列


      >
       db.Account.find({},{
      "
      UserName
      "
      :0})    --0:false




    查询聚集中指定列,且Age > 20


      >
       db.Account.find({
      "
      Age
      "
      :{
      "
      $gt
      "
      :
      20
      }},{
      "
      UserName
      "
      :
      1
      ,
      "
      Email
      "
      :
      1
      })


    --SELECT UserName,Email FROM Account WHERE Age > 20


    聚集中字段排序



      >
       db.Account.find().sort({
      "
      UserName
      "
      :
      1
      })
      --
       升序

      >
       db.Account.find().sort({
      "
      UserName
      "
      :
      -
      1
      })
      --
      降序


    --SELECT * FROM Account ORDER BY UserName ASC
    --SELECT * FROM Account ORDER BY UserName DESC


    统计聚集中记录条数


      >
       db.Account.find().count()


    --SELECT COUNT(*) FROM Account


    统计聚集中符合条件的记录条数


      >
       db.Account.find({
      "
      Age
      "
      :{
      "
      $gt
      "
      :
      20
      }}).count()


    -- SELECT COUNT(*) FROM Account WHERE Age > 20


    统计聚集中字段符合条件的记录条数


      >
       db.Account.find({
      "
      UserName
      "
      :{
      "
      $exists
      "
      :true}}).count()


    --SELECT COUNT(UserName) FROM Account


    查询聚集中前5条记录



      >
       db.Account.find().limit(
      5
      )


    --SELECT TOP 5 * FROM Account


    查询聚集中第10条以后的记录


      >
       db.Account.find().skip(
      10
      )


    --SELECT * FROM Account WHERE AccountID NOT IN (SELECT TOP 10 AccountID FROM Account)


    查询聚集中第10条记录以后的5条记录


      >
       db.Account.find().skip(
      10
      ).limit(
      5
      )


    --SELECT TOP 5 * FROM Account WHERE AccountID NOT IN (SELECT TOP 10 AccountID FROM Account)

    or查询


      >
       db.Account.find({
      "
      $or
      "
      :[{
      "
      UserName
      "
      :
      /
      keyword
      /
      },{
      "
      Email
      "
      :
      /
      keyword
      /
      }]},{
      "
      UserName
      "
      :true,
      "
      Email
      "
      :true})


    --SELECT UserName,Email FROM Account WHERE UserName LIKE "%keyword%" OR Email LIKE "%keyword%"


    添加新记录


      >
       db.Account.insert({AccountID:
      2
      ,UserName:
      "
      lb
      "
      ,Password:
      "
      1
      "
      ,Age:
      25
      ,Email:
      "
      libing@163.com
      "
      ,RegisterDate:
      "
      2011-06-09 16:36:95
      "
      })
      



    修改记录


      >
       db.Account.update({
      "
      AccountID
      "
      :
      1
      },{
      "
      $set
      "
      :{
      "
      Age
      "
      :
      27
      ,
      "
      Email
      "
      :
      "
      libingql@163.com
      "
      }})

      >
       db.Account.find({
      "
      AccountID
      "
      :
      1
      })
    {
      "
      AccountID
      "
       :
      1
      ,
      "
      Age
      "
       :
      27
      ,
      "
      Email
      "
       :
      "
      libingql@163.com
      "
      ,
      "
      Password
      "
       :
      "
      1
      "
      ,
      "
      RegisterDate
      "
       :
      "
      2011-06-09 16:31:25
      "
      ,
      "
      UserName
      "
       :
      "
      libing
      "
      ,
      "
      _id
      "
       : ObjectId(
      "
      4df08553188e444d001a763a
      "
      ) }
      

      


      >
       db.Account.update({
      "
      AccountID
      "
      :
      1
      },{
      "
      $inc
      "
      :{
      "
      Age
      "
      :
      1
      }})

      >
       db.Account.find({
      "
      AccountID
      "
      :
      1
      })
    {
      "
      AccountID
      "
       :
      1
      ,
      "
      Age
      "
       :
      28
      ,
      "
      Email
      "
       :
      "
      libingql@163.com
      "
      ,
      "
      Password
      "
       :
      "
      1
      "
      ,
      "
      RegisterDate
      "
       :
      "
      2011-06-09 16:31:25
      "
      ,
      "
      UserName
      "
       :
      "
      libing
      "
      ,
      "
      _id
      "
       : ObjectId(
      "
      4df08553188e444d001a763a
      "
      ) }
      


    删除记录


      >
       db.Account.remove({
      "
      AccountID
      "
      :
      1
      })
      --
      DELETE FROM Account WHERE AccountID
      =
       
      1
      

      


      >
       db.Account.remove({
      "
      UserName
      "
      :
      "
      libing
      "
      })
      --
      DELETE FROM Account WHERE UserName
      =
       
      "
      libing
      "
      

      


      >
       db.Account.remove({
      "
      Age
      "
      :{$lt:
      20
      }})
      --
      DELETE FROM Account WHERE Age
      <
       
      20
      

      >
       db.Account.remove({
      "
      Age
      "
      :{$lte:
      20
      }})
      --
      DELETE FROM Account WHERE Age
      <=
       
      20
      

      >
       db.Account.remove({
      "
      Age
      "
      :{$gt:
      20
      }})
      --
      DELETE FROM Account WHERE Age
      >
       
      20
      

      >
       db.Account.remove({
      "
      Age
      "
      :{$gte:
      20
      }})
      --
      DELETE FROM Account WHERE Age
      >=
       
      20
      

      >
       db.Account.remove({
      "
      Age
      "
      :{$ne:
      20
      }})
      --
      DELETE FROM Account WHERE Age
      !=
       
      20
      

      


      >
       db.Account.remove()   
      --
      全部删除

      >
       db.Account.remove({})  
      --
      全部删除
      
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-6-7 10:08 , Processed in 0.417136 second(s), 37 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表