iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >NoSQL介绍(七)
  • 933
分享到

NoSQL介绍(七)

2024-04-02 19:04:59 933人浏览 薄情痞子
摘要

NoSQL介绍(七) MongoDB介绍 官网www.mongoDB.com c++编写,基于分布式,属于NoSQL的一种 在Nosql中是最像关系型数据库的 MonGoDB将数据存储为一种文档,数据结构

NoSQL介绍(七)

MongoDB介绍

  • 官网www.mongoDB.com
  • c++编写,基于分布式,属于NoSQL的一种
  • 在Nosql中是最像关系型数据库
  • MonGoDB将数据存储为一种文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于JSON对象。字段值可以包含其他文档、数组及文档数组。
  • 因为基于分布式,所以很容易扩展

MongoDB和关系型数据库的对比

SQL术语概念 MongoDB术语概念 解释说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column filed 数据字段/域
index index 索引
table joins 表连接MongoDB不支持
primary key primary key 主键MongoDB自动将_id字段设置为主键

MongoDB安装

官方安装文档 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

vim /etc/yum.repos.d/mongodb-org-3.6.repo
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=Https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpGCheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
yum list | grep mongodb
yum install -y mongodb-org

MongoDB的连接

systemctl start mongod.service
netstat -tlnp|grep mongod
tcp        0      0 192.168.221.10:27017    0.0.0.0:*               LISTEN      1999/mongod         
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      1999/mongod
mongo --port 27017 --host 192.168.221.10
mongo -uusername -ppasswd --authenticationDatabase db

MongoDB用户管理

mongo --port 27017 --host 192.168.221.10
> use admin //切换到admin库
> db.createUser({user:"admin",customData:{description:"superuser"},pwd:"admin",roles:[{role:"root",db:"admin"}]});
> db.system.users.find();
> show users;
> db.createUser({user:"zs",pwd:"zs",roles:[{role:"read",db:"testdb"}]});//创建zs用户
> db.dropUser('zs');//删除用户zs

使用用户名,密码连接mongo数据库,需要修改启动脚本并重启

vim /usr/lig/systemd/system/mongod.service  //在"OPTIONS="后加"--auth"
Environment="OPTIONS=--auth -f /etc/mongod.conf"
systemctl daemon-reload
systemctl restart mongod.service
mongo -u 'admin' -p 'admin' --authenticationDatabase 'admin' //需要指定数据库

在数据库db1中创建用户test1对db1库读写,对db2库只读。

> use db1;
> db.createUser({user:"test1",pwd:"test1",roles:[{role:"readWrite",db:"db1"},{role:"read",db:"db2"}]});
ctrl+d
mongo -u 'test1' -p 'test1' --authenticationDatabase 'db1'  
> use db2;
> db.auth("test1","test1");   
Error: Authentication failed.  //报错,因为用户test1在db1中创建

MongoDB用户角色

  • Read:允许用户读取指定数据库
  • readWrite:允许用户读写指定数据库
  • dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建,删除,查看统计或访问system.profile
  • userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
  • clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
  • readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
  • readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
  • userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
  • dbAdminDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
  • root:只在admin数据中可用。超级账号,超级权限

MongoDB创建集合

//db.createCollection(name,options);
name就是集合的名字,iptions可选,用来配置集合的参数,参数如下:
capped true/false:为true,则启用封顶集合。封顶集合是固定大小的集合,当它达到其最大大小,会自动覆盖最早的条目。如果指定true,则也需要指定尺寸参数。
size (可选)指定最大大小字节封顶集合。如果封顶为true,还需要指定这个字段
max 指定封顶集合允许在文件的最大数量。
> db.createCollection('mycol',{capped:true,size:6142800,max:10000});

查看集合

> show tables; 或 show collections

创建集合Account并插入内容

> db.Account.insert({AccountID:2,UserName:'lisi',passWord:'lisi'});

查看集合Account的所有内容及条件查询

> db.Account.find();
> db.Account.find({AccountID:1});

根据条件删除Account集合中的一条记录

> db.Account.remove({AccountID:1});

打印集合状态

> db.printCollectionStats();

修改集合中的一条记录

> db.Account.update({AccountID:2},{"$set":{age:20}});

删除某个集合

> db.Account.drop();
您可能感兴趣的文档:

--结束END--

本文标题: NoSQL介绍(七)

本文链接: https://www.lsjlt.com/news/52261.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • NoSQL介绍(七)
    NoSQL介绍(七) MongoDB介绍 官网www.mongodb.com c++编写,基于分布式,属于NoSQL的一种 在NoSQL中是最像关系型数据库的 MongoDB将数据存储为一种文档,数据结构...
    99+
    2024-04-02
  • NoSQL数据库四大分类的介绍
    本篇内容介绍了“NoSQL数据库四大分类的介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!NoSQL数据...
    99+
    2024-04-02
  • 云主机的七大优点介绍
    本篇内容主要讲解“云主机的七大优点介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“云主机的七大优点介绍”吧!迅速拓展云渠道最大的特点是可以迅速(挨近实时)调整云渠道实例的规划,只需求在控制面板...
    99+
    2023-06-07
  • Java 语法介绍(七):Brake和Label(转)
    Java 语法介绍(七):Brake和Label(转)[@more@]1:break  break语句提供了一种方便的跳出循环的方法。 boolean test=true;  int i=0;  while(test){    i++;  ...
    99+
    2023-06-03
  • MongoDB客户端工具NoSQL Manager for MongoDB介绍
    目录一、安装二、连接客户端三、基本的日常操作1、shell2、日常数据增删改查① 可以在shell命令行执行。② 也可以直接通过GUI来实现。3、表复制① 数据库内复制表。② 跨数据...
    99+
    2024-04-02
  • Spring框架七大模块简单介绍
    Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring框架的7个模块组成 Spring框架的每个...
    99+
    2023-05-30
    spring框架 七大模块 简单介绍
  • Python写代码的七条重要技巧介绍
    目录前言0x00 规范命名0x01 面向对象0x02 使用 with0x03 使用 get0x04 提前返回0x05 生成...
    99+
    2024-04-02
  • Linux下双网卡绑定七种模式介绍
    本篇内容介绍了“Linux下双网卡绑定七种模式介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!多网卡的7种bond模式原理Linux网卡绑...
    99+
    2023-06-06
  • 软件开发架构介绍||OSI七层协议之物理
    一、网络编程  软件开发架构   C/S架构     C:客户端 想体验服务的时候才会去找服务端体验服务     S:服务端   24小时不间断的提供服务,即时监听,随时待命   B/S架构     B:浏览器    想体验服务的时候才会...
    99+
    2023-01-31
    架构 七层 物理
  • NoSQL数据库的简单介绍以及redis持久化数据服务
    本篇内容介绍了“NoSQL数据库的简单介绍以及redis持久化数据服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2024-04-02
  • Linux图形管理框架gdm3、lightdm、sddm、kdm介绍(一百三十七)
    1.Gnome系列图形管理器:gdm、gdm3 sudo apt-get install gdm3 Ubuntu默认界面管理器:gdm3 2.KDE系列图形管理器:KDM,SDDM LUbuntu默认界面管理器:sddm sudo apt...
    99+
    2023-09-26
    linux ubuntu 服务器
  • RabbitMQ中七种模式介绍与应用场景的示例分析
    这篇文章给大家分享的是有关RabbitMQ中七种模式介绍与应用场景的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。七种模式介绍与应用场景 简单模式(Hello World)做最简单的事情,一个生...
    99+
    2023-06-15
  • Python~~简介介绍
    Python (英国发音:/paθn/ 美国发音:/paθɑn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于...
    99+
    2024-04-02
  • python介绍
    python是一门优秀的综合语言,python的宗旨是简明,优雅,强大,在人工智能,云计算,金融分析,大数据开发,web开发,自动化运维,测试等方向应用广泛,已是全球第4大最流行的语言目前python主要应用领域:  web开发-...
    99+
    2023-01-30
    python
  • 1. 介绍
    在本教程中,我们将学习如何在亚马逊 AWS 上搭建 Linux 服务器。AWS 是一家全球领先的云计算服务提供商,提供了各种各样的云计算服务,包括虚拟机、存储、数据库、网络等等。AWS 的 EC2 服务是一种弹性计算云服务,可以轻松地创建和...
    99+
    2023-10-27
  • 介绍PHP
    PHP是一种流行的服务器端编程语言,用于开发Web应用程序。它是一种开源的编程语言,具有易学易用的语法和强大的功能。PHP支持在服务器上运行的动态网页和Web应用程序的快速开发。 PHP可以与HTM...
    99+
    2023-09-14
    php 开发语言 PHP phpstorm 学习 学习工具
  • springCloud介绍
    springCloud介绍SOA:更注重于相同功能的重用,来构建一条企业功能的主线,其他的功能在这条主线上进行开发和扩展。有点类似于EJB的功能。微服务:将整个功能拆分成若干个服务,各个服务独立部署,此时的重点是业务拆分的粒度。 ...
    99+
    2023-06-02
  • OAuth2.0介绍
    概述OAuth 2.0 授权框架能够是第三方应用获取应用被保护的服务资源,它是一种授权互联网标准,由IETF(Internet Engineering Task Force)管理发布。本文主要参考材料为 RFC 6749 初步理解接下来以一...
    99+
    2023-06-02
  • Kafka 介绍
    一、基本概念 1.1 什么是 kafka Kafka 它最初由 LinkedIn 公司开发,之后成为 Apache 项目的一部分。Kafka 是一个分布式消息中间件, 支持分区的、多副本的、多订阅者的、基于 zookeeper 协调的分布式...
    99+
    2023-08-30
    kafka 分布式 java
  • SpringMvc介绍。
    目录 1、SpringMvc概述 1、基本介绍 2、工作流程  3、bean加载控制  二、请求 1、请求映射路径 2、请求方式 3、请求参数 4、请求参数(传递json数据) 5、日期类型参数传递 三、响应 四、REST风格 1、REST...
    99+
    2023-09-01
    java SpringMVC
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作