MongoDB的简单使用-结合docker/golang

概念

  1. 是一个基于分布式文件存储的数据库,有c++语言组成。目的是为了web应用提供可扩展的高性能数据库存储解决方案
  2. 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的
  3. 数据结构类似于json的bson格式,具有强大的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。数据存储事有序的。

特点(字段和值)

在这里插入图片描述
文档中的值可以是双引号中的字符串[[,整型、布尔型等,也可以是另外一个文档,即文档可以嵌套。文档中的键类型只能是字符串。

数据库

MongoDB 中多个文档组成集合,多个集合组成数据库。

集合就是一组文档,类似于关系数据库中的表。对于一个博客系统,可能包括blog.user和blog.article两个子集合,这样划分只是让组织结构更好一些,blog集合和blog.user、blog.article没有任何关系。虽然子集合没有任何特殊的地方,但是使用子集合组织数据结构清晰,这也是MongoDB推荐的方法。
MongoDB中存在以下系统数据库:

  1. Admin 数据库:一个权限数据库,如果创建用户的时候将该用户添加到admin 数据库中,那么该用户就自动继承了所有数据库的权限。
  2. Local 数据库:这个数据库永远不会被复制,可以用来存储本地单台服务器的任意集合。
  3. Config 数据库:当MongoDB 使用分片模式时,config数据库在内部使用,用于保存分片的信息。

数据模型

一个MongoDB实例可以包含一组数据库,一个DataBase可以包含一组Collection(集合),一个集合可以包含一组Document(文档)。一个Document包含一组field(字段),每一个字段都是一个key/value pair

  1. key: 必须为字符串类型
  2. value:可以包含如下类型
    • 基本类型,例如,string,int,float,timestamp,binary 等类型
    • 一个document
    • 数组类型

可视化工具

  1. Navicat 16: 更推荐这个,这个up的教程很详细,破解的。
  2. MongoDB-Compass:安装一直next就行
    在这里插入图片描述
    进去之后就是这样,改一下url和host就行了。
  3. Goland 编译器:和mysql一样的配置
    在这里插入图片描述
    在这里插入图片描述

CURD

库操作:

  1. 查看数据库

     show databases; ---------》简写  show dbs
    
  2. 选择数据库 -----如果选择一个不存在的会自动创建

     use  表名
    
  3. 删除数据库

     use   数据库
     db.dropDataBase()
    

集合操作:

  1. 查看集合

     show collections
    
  2. 创建集合

     db.createCollection('集合名')
    
  3. 删除集合

     db.集合名.drop()
    

集合操作:

  1. 增-----如果集合不存在,那么会隐式创建。

     db.集合名.insert(JSON数据)
    

    示例:在test2数据库的c1集合中插入数据(姓名叫webopenfather年龄18岁)

     use test2 db.c1.insert({uname:"webopenfather",age:18})
    
  • 对象的键统一不加引号(方便看),但是查看集合数据时系统会自动加
  • mongodb会给每条数据增加一个全球唯一的_id键
    在这里插入图片描述
  1. 多条插入
	1. db.c1.insert([{uname:"z3", age:3},{uname:"z4", age:4}, {uname:"w5", age:5} ])
	2. for (var i=1; i<=10; i++) {db.c2.insert({uanme: "a"+i, age: i})}
  1.  db.集合名.remove(条件[,是否删除一条])
    
  2.  db.集合名.update(条件,{修改器:{键:值}}[是否新增,是否修改多条,])
     举例:
         条件: {uname:"王zq"}
       	修改器:{$set:{age:21}}
       	是否新增:指条件匹配不到数据则插入(true是插入,false否不插入默认)
         否修改多条:指将匹配成功的数据都修改(true是,false否默认)
    
  3.  db.集合名.find(条件 [,查询的列])
     如果只查一个,或者只有一个结果,要不然会默认全表查
     db.sang_collect.find({x:1}).limit(1)
    
  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
为什么会这样[user_mongo@nosql01 replicaset]$ cd /opt [user_mongo@nosql01 opt]$ ll total 0 drwxr-xr-x. 3 root root 25 Mar 16 17:08 servers drwxr-xr-x. 2 root root 51 Mar 16 17:10 software [user_mongo@nosql01 opt]$ tar -zxvf /opt/software/mongodb-linux-x86_64-rhel70-4.4.12.tgz -C /opt/servers/mongodb_demo/replicaset/ mongodb-linux-x86_64-rhel70-4.4.12/LICENSE-Community.txt tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/LICENSE-Community.txt: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/MPL-2 tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/MPL-2: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/README tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/README: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/THIRD-PARTY-NOTICES tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/THIRD-PARTY-NOTICES: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/install_compass tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/install_compass: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongo tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongo: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongod tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongod: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongos tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongos: Cannot open: No such file or directory tar: Exiting with failure status due to previous errors [user_mongo@nosql01 opt]$ tar -zcvf /opt/software/mongodb-linux-x86_64-rhel70-4.4.12.tgz -C /opt/servers/mongodb_demo/replicaset/ tar: Cowardly refusing to create an empty archive Try `tar --help' or `tar --usage' for more information.
06-01

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值