MongoDB基本命令操作,MongoDB命令操作

发布时间:2018-11-15  栏目:NoSQL  评论:0 Comments

MongoDB:NoSQL数据库

  • MongoDB中的重点指示点
    • MongoDB中之三要素
      • 数据库
      • 集合
      • 文档
    • MongoDB中的数码存储是因Bson的形式储存的,Bson是二进制的json,所以看上去记录的款式类似于json数据
    • MongoDB中会师中之数不同让干项目数据库被的数目,MongoDB中文档结构得以不同,因此扩展性非常好

MongoDB的长处:易扩展、高性能、灵活的数据模型

MongoDB的败笔:数据再次存储,占用空间十分

 

MongoDB基本命令操作,MongoDB命令操作

当上等同篇随笔中记录了如何当Centos7齐安MongoDB数据库,这同首我们即便共同来读书基本的操作命令。

装完成后,shell交互式下输入mongo就足以一直无密码登录到数据库。

show dbs;                  #查看全部数据库

show collections;          #显示当前数据库中的集合(类似关系数据库中的表)

show users;                #查看当前数据库的用户信息

use <db name>;             #切换数据库跟mysql一样

db;或者db.getName();        #查看当前所在数据库

db.help();                 #显示数据库操作命令,里面有很多的命令 
db.foo.help();             #显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令 
db.foo.find();             #对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据) 
db.foo.find( { a : 1 } );  #对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1

 

始建一个test数据库例子:

> use test;             #创建数据库
switched to db test
> db;               
test
> show dbs;           #检查数据库
admin 0.000GB
local 0.000GB

> db.test.insert({"_id":"520","name":"xiaoming"})         #创建表

WriteResult({ "nInserted" : 1 })

> db.createUser({user:"xiaoming",pwd:"123456",roles:[{role:"userAdmin",db:"test"}]})        #创建用户
Successfully added user: {
"user" : "xiaoming",
"roles" : [
{
"role" : "userAdmin",
"db" : "test"
}
]
}
db.removeUser("userName");         #删除用户
show users;                        #显示当前所有用户

db.dropDatabase();   #删除时动数据库

> show dbs;
admin 0.000GB
local 0.000GB
test 0.000GB
test_1 0.000GB

> db;
test_1

> db.dropDatabase();
{ "dropped" : "test_1", "ok" : 1 }


> show dbs;
admin 0.000GB
local 0.000GB
test 0.000GB

db.stats();             #显当前db状态

> db.stats();
{
    "db" : "test_1",
    "collections" : 0,
    "views" : 0,
    "objects" : 0,
    "avgObjSize" : 0,
    "dataSize" : 0,
    "storageSize" : 0,
    "numExtents" : 0,
    "indexes" : 0,
    "indexSize" : 0,
    "fileSize" : 0,
    "ok" : 1
}

db.version();         #当前db版本

> db.version();
3.4.10

db.getMongo();     #翻开时db的链接机器地址

> db.getMongo();
connection to 172.16.40.205:27017

敞开远程访问

编辑配置文件:vi /etc/mongod.conf
bindIp: 172.16.40.205      #数据库所在服务器IP地址
保存重启数据库!
本地登录:mongo 172.16.40.205/admin -uadmin -p123456
远程登录:
1. 下载mongodb压缩包
mongodb-linux-x86_64-3.4.10.tgz
2. 解压
> tar zxvf mongodb-linux-x86_64-3.4.10.tgz
3. 进入bin目录
> cd mongodb-linux-x86_64-3.4.10/bin
4. 连接远程数据库
> ./mongo 172.16.40.205:27017/admin  -u user  -p  password

 后续又下结论发布!

http://www.bkjia.com/Linuxjc/1232246.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linuxjc/1232246.htmlTechArticleMongoDB基本命令操作,MongoDB命令操作
在达到亦然首随笔中记录了什么以Centos7臻安装MongoDB数据库,这同篇我们尽管联合来学基本的操作命令。
安…

MongoDB启动

  • 命执行(终端)启动命令

    • mongod : 运行服务端
    • mongo: 启动客户端
  • 查看帮助命令,默认端口,日志位置

    • 查帮助:mongod –help
    • 翻是否启动成功:ps ajx|grep mongod
    • 默认端⼝:27017
    • 日记的职位:/var/log/mongodb/mongod.log

  • mongodb客户端
    • 起步本地客户端:mongo
    • 查看帮助:mongo –help
    • 退出:exit或者ctrl+c

 

MongoDB的底子命令

操作数据库命令

  • 翻开时之数据库:db
  • 翻看有的数据库:show
    dbs /show databases
  • 切换数据库:use
    db_name删除时底数据库:db.dropDatabase()

    • 切换至没有的数据库, 添加数据会自动创建
    • 亮当前数据库状态:db.stats()
  • 即数据库版本:db.version()
  • 查时数据库的链接机器地址:db.getMongo()

操作集合的一声令下

  • 勿手动创建集合:
    • 向不存在的集合中第⼀次加⼊数据时, 集合会被创建出来
  • 手动创建结合:

    创建用户:db.createUser({user:”laowang”,pwd:”123456″,roles:[{role:”userAdmin”,db:”stu”}]}) 

    • db.createCollection(name,options)
    • db.createCollection(“stu”)
    • db.createCollection(“sub”, { capped : true, size : 10 } )
    • 参数capped: 默认值为false表示未安装上限,值吗true表示设置上限
    • 参数size: 当capped值为true时, 需要指定此参数,
      表示上限⼤⼩,单位也字节

      • 当⽂档达到上限时, 会将前的多寡覆盖, 最早添加的数量移出,
        其余上更换, 最后加加于结尾一长达
    • 显示当前于是用户:show 
      users
  • 去用户:db.removeUser(“userName”)
  • 翻开集合:show collections

  • 删去集合:db.集合名称.drop()

 

mongo中的数据类型

  • Object
    ID: ⽂档ID
  • String:
    字符串, 最常⽤, 必须是行得通的UTF-8
  • Boolean:
    存储⼀个布尔值, true或false
  • Integer:
    整数可以是32各项还是64各, 这在服务器
  • Double:
    存储浮点值
  • Arrays:
    数组或列表, 多只价存储到⼀个键
  • Object:
    ⽤于嵌⼊式的⽂档, 即⼀个值为⼀个⽂档
  • Null:
    存储Null值
  • Timestamp:
    时间穿, 表示从1970-1-1交现的总秒数
  • Date:
    存储时⽇期或时刻之UNIX时间格式

注意事项:

  • 开创⽇期语句如下
    :参数的格式为YYYY-MM-DD每个⽂档都起⼀个属性, 为_id,
    保证每个⽂档的唯⼀性

    • new Date('2017-12-20')
    • 可以⾃⼰去设置_id插⼊⽂档,如果无供,
      那么MongoDB为每个⽂档提供了⼀单非常之_id, 类型:objectID
  • objectID是⼀个12字节的⼗六进制数(了解):
    • 前面4单字节为眼前日穿
    • 对接下去3独字节的机器ID
    • 连着下的2单字节中MongoDB的劳动过程id
    • 末了3独字节是简单的增量值

 

安插数据

  • db.集合名称.insert(document)插⼊⽂档时,
    如果不指定_id参数,
    MongoDB会为⽂档分配⼀个唯⼀的ObjectId类型的_id

    • db.stu.insert({name:’gj’,gender:1})
    • db.stu.insert({_id:”20170101″,name:’gj’,gender:1})
    • 插入单条指定为字典,
      插入多长达指定为列表

保存

  • db.集合名称.save(document)
  • 如果⽂档的_id已经在则改,
    如果⽂档的_id不在则长
  • 分别为:
    insert如果存在直接报错

简简单单询问:

  • db.集合名称.find()

更新

  • 语法: db.集合名称.update(<query> ,<update>,{multi: <boolean>})
    • 参数query:查询条件
    • 参数update:更新操作符
    • 参数multi:可选, 默认是false,表示无非更新找到的第⼀长记下,
      值为true表示将满⾜条件的⽂档全部创新
  • 举例:注意:”multi
    update only works with $ operators” 更新任何, 必须运用$set

    • db.stu.update({name:’hr’},{name:’mnc’})
      更新一长条,没有创新的字段会 丢弃.
    • db.stu.update({name:’hr’},{$set:{name:’hys’}}) 更新一修
    • db.stu.update({},{$set:{gender:0}},{multi:true}) 更新任何

删除

  • 语法: db.集合名称.remove(<query>,{justOne: <boolean>})
    • 参数query:可选,删除的⽂档的尺度
    • 参数justOne:可选, 如果设为true或1, 则止去⼀条, 默认false,
      表示去多长长的

 

留下评论

网站地图xml地图