mongodb基本操作

查询操作

进入mongo的admin数据库

[mongod@MongoDB ~]# mongo 10.0.0.152/admin
MongoDB shell version: 3.2.8
connecting to: 10.0.0.152/admin

查看当前数据库名

> db
  admin

查看当前数据库版本

  > db.version()
    3.2.8

查看所有数据库

> show dbs;
  clsn   0.000GB
  local  0.000GB
  test   0.000GB
> show databases;
  clsn   0.000GB
  local  0.000GB
  test   0.000GB

切换数据库(创库)

  > use test;
  switched to db test

显示当前数据库

 *1*
> db
  test

 *2*
> db.getName()
  test

查看clsn数据库当前状态

  > use clsn;
  > db.stats()
  {
      "db" : "clsn",
      "collections" : 1,
      "objects" : 10000,
      "avgObjSize" : 80,
      "dataSize" : 800000,
      "storageSize" : 258048,
      "numExtents" : 0,
      "indexes" : 1,
      "indexSize" : 94208,
      "ok" : 1
  }

查看当前数据库的连接机器地址

     > db.getMongo()
      connection to 127.0.0.1

数据管理(增删该查)

库管理

创建数据库

  > use clsn;

说明:
当use的时候,系统就会自动创建一个数据库。
如果use之后没有创建任何
集合。系统就会不承认这个数据库。

删除数据库:

> show dbs;
  clsn   0.000GB
  local  0.000GB
  test   0.000GB
> use clsn 
  switched to db clsn
> db.dropDatabase()
  { "dropped" : "clsn", "ok" : 1 }

说明:
如果没有选择任何数据库,会删除默认的 test 数据库

集合操作

创建集合

  方法一:
  > use clsn;
    switched to db clsn
  > db.createCollection('a')
    { "ok" : 1 }
  > db.createCollection('b')
      { "ok" : 1 }
 
   方法二:
  当插入一个文档的时候,一个集合就会自动创建。
  > use clsn;
  switched to db clsn
  > db.c.insert({name:'clsn'});
  WriteResult({ "nInserted" : 1 })
  > db.c.insert({url:'http://blog.nmtui.com'});
  WriteResult({ "nInserted" : 1 })

查看当前数据下的所有集合

  > show collections;
    a
    b
  > db.getCollectionNames()
      [ "a", "b" ]

重命名集合

  > db.c.renameCollection("clsn")
  { "ok" : 1 }
  > db.getCollectionNames()
  [ "a", "b", "clsn" ]

删除合集

    > db.a.drop()
      true
    > db.getCollectionNames()
      [ "b", "clsn" ]

查看合集里的内容

  > db.c.find()
    { "_id" : ObjectId("5a4cbcea83ec78b7bea904f8"), "name" : "clsn" }
    { "_id" : ObjectId("5a4cbcfc83ec78b7bea904f9"), "url" : "http://blog.nmtui.com" }

删除合集

    > db.a.drop()
      true
    > db.getCollectionNames()
      [ "b", "clsn" ]

合集的数据操作

1.插入数据

  > db.log.insert({"uid":100})
    WriteResult({ "nInserted" : 1 })

  > for(i=0;i<10000;i++){ db.log.insert({"uid":i,"name":"mongodb","age":6,"date":new Date()}); 
    WriteResult({ "nInserted" : 1 })

2.查询集合中的查询所有记录

    > db.log.find()
      注:默认每页显示20条记录,当显示不下的的情况下,可以用it迭代命令查询下一页数据。

    对默认显示记录数进行设置
    > DBQuery.shellBatchSize=50;    # 每页显示50条记录

    > db.log.findOne()            # 查看第1条记录
    > db.log.count()              # 查询总的记录数
    > db.log.find({uid:1000});    # 查询UUID为1000的数据

3.删除集合中的记录数

  >  db.log.distinct("name")      #  查询去掉当前集合中某列的重复数据
    [ "mongodb" ]
  > db.log.remove({})             #  删除集合中所有记录
    WriteResult({ "nRemoved" : 10000 })  
  > db.log.distinct("name")
  [ ]

4.对集合中的某条数据进行修改???

查看集合存储信息

  > db.log.stats()          # 查看数据状态
  > db.log.dataSize()       # 集合中数据的原始大小
  > db.log.totalIndexSize() # 集合中索引数据的原始大小
  > db.log.totalSize()      # 集合中索引+数据压缩存储之后的大小
  > db.log.storageSize()    # 集合中数据压缩存储的大小

pretty()使用

    > db.log.find({uid:1000}).pretty()
    {
          "_id" : ObjectId("5a4c5c0bdf067ab57602f7c2"),
          "uid" : 1000,
          "name" : "mongodb",
          "age" : 6,
           "date" : ISODate("2018-01-03T04:28:59.343Z")
      }

你可能感兴趣的:(mongodb基本操作)