二、部署在本地服务器

在上次的学习过程中,我们主要进行了MongoDB运行环境的搭建和可视化工具的安装。此次我们将学习MongoDB有关的基本概念和在adminmongo上的基本操作。该文档中的数据库、集合等名称均无特殊意义,只是代指。

2.1配置环境变量

在文件资源管理器中找到可执行文件mongod.exe的路径,4.0版本默认路径为C:\Program Files\MongoDB\Server\4.0\bin。

我的电脑/此电脑(右键)→属性→高级系统设置→环境变量→系统变量(S)

找到系统变量(S)中的Path进行编辑,添加mongod.exe的路径到Path的变量值中。

在C盘的根目录中新建一个data文件夹,再在data里建一个db文件夹。

打开cmd窗口输入“mongod”启动MongoDB服务器,出现“NETWORK [initandlisten] waiting for connections on port 27017”表示配置成功。注意对这个cmd窗口不要进行任何操作,然后再打开一个cmd窗口,输入mongo连接Mongo,出现“>”表示启动成功,可输入一些简单的命令测试一下。

2.2配置文件

(1)在C盘根目录下的data文件夹中再创建一个log文件夹。

(2)创建配置文件

4.0版本的官方安装包中已经有配置文件mongod.cfg,默认储存在C:\Program Files\MongoDB\Server\4.0\bin,配置文件选项可参考https://docs.mongodb.com/manual/reference/configuration-options/。

如果没有配置文件,在其他文件夹下新建一个文本文档,命名为mongod.cfg然后编辑具体内容,再把该文件移进MongoDB文件夹下即可。

(3)以管理员身份打开命令行窗口,执行如下命令sc.exe create MongoDB binPath="\"mongod的bin目录\mongod.exe\" --service --config=\"配置文件的储存目录\mongod.cfg\"" DisplayName= "MongoDB" start="auto"。

(4)打开服务,找到MongoDB,显示登陆为本地系统时表示配置文件设置成功,此时可以右键启动Mongo服务

PS:

(1)MongoDB默认监听2717端口,启动数据库并设置数据库的储存路径、端口号:mongod --dbpath 储存路径 --port 端口号。例如mongod --dbpath D:\data --port 123。

(2)停止MongoDB:在MongoDB Shell中执行

use admin

db.shutdownServer()

三、数据库介绍与基本概念

3.1MongoDB简介

MongoDB是为快速开发互联网Web应用而设计的数据库系统,基于NoSQL文档存储模型,在这种模型中,数据对象被存储为集合中的文档,而不是传统关系型数据库中的行和列。文档是以二进制JSON(BSON)对象的方式存储的。

可浏览此网址大致了解MongoDB:https://docs.mongodb.com/manual/faq/

(1)文档存储数据库

面向文档。将单个实体的所有数据都存储在一个文档中,而文档可存储在集合中。文档可包含描述实体的所有必要信息,包括子文档;集合中的文档是通过独一无二的键访问的。

而在RDBMS中,子文档通常存储为编码字符串或存储在独立的表中。

(2)集合

指一组用途相同或类似的文档,相当于传统SQL数据库中的表,但在MongoDB中,集合不受严格模式的管制,其中的文档可根据需要采用稍微不同的结构。

(3)文档

表示单个实体的数据,可包含嵌入的子文档。MongoDB的文档最大不能超过16MB。

(4)MongoDB不支持SQL,有它自己的查询语言。有关使用MongoDB查询语言的示例,可参考此网址:https://docs.mongodb.com/manual/crud/

或者也可以使用MongoDB Connector for BI来用SQL查询MongoDB集合。

3.2基本概念

(1)MongoDB和关系数据库的对比

每一个文档都有一个特殊的键”_id”,它在文档所处的集合中是唯一的,相当于关系数据库中的表的主键。

(2)MongoDB数据类型

文档以对象的方式从数据库返回,这些对象作为数据库、集合和游标操作,定义了查询、排序、集合以及其他运算符。在上个文档中我们讲到可视化工具adminMongo,事实上这是一个基于Node.js的可视化工具,在使用它之前,要先安装Node.js。而Node.js是基于JavaScript的,因此在Node.js中,运算符、参数和文档也是用JavaScript对象表示的。

(3)JavaScript基本语法:

这一部分内容可以参考专业的JavaScript教材或参考书,本文档就不在此赘述。学习参考《MongoDB入门经典》

四、基本操作(Mongo Shell)

(1)启动Mongo Shell:打开一个cmd执行mongod,再打开一个cmd执行mongo。

(2)基本操作:

show dbs/show database:显示当前的所有数据库

use 数据库名:进入到指定的数据库中,例如执行“use test”进入test数据库,显示“switched to db test”。注意在MongoDB中,数据库和集合都不需要手动创建,当我们创建文档时,如果文档所在的集合或数据库不存在,会自动创建数据库和集合。

db:表示当前所处的数据库

show collections:显示数据库中所有的集合

(3)增删查改:

MongoDB CRUD操作:https://docs.mongodb.com/manual/crud/

(4)可视化工具的应用

启动MongoDB和adminMongo,并访问地址:http://127.0.0.1:1234,连接以后出现类似以下画面:

可以进行增加和删除数据库等操作:

如将名为Jackson的database删除,增加一个名为GOT7的database后如图:

点击上图中的test,就进入了collection的画面,在这里可以进行基础增删查改的操作:

New document , add document, save document

但是当我们编辑文档的时候,总是会出现语法错误的提示,由于许多参考书中都是关于在Mongo shell上的操作方法,有关adminmongo的资料很少。因此我们下一步的目标就是探索出在可视化工具adminMongo中编辑文档的方法。

MongoDB:数据库介绍与基础操作的更多相关文章

  1. python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查

    python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...

  2. MySQL 数据库中的基础操作

    数据库中的表操作 1.创建表 表的表名命名规则: -- 数据库表命名规则重要说明: -- (1)数据库表名称可以支持大写字母A-Z,小写字母a-z,数字0-9,字符包括下划线 _ ,可以组合使用; - ...

  3. 二十三、MongoDb 数据库介绍、安装、启动和连接(非关系型数据库)

    1.数据库和文件的主要区别 1. 数据库有数据库表.行和列的概念,让我们存储操作数据更方便2. 数据库提供了非常方便的接口,可以让 nodejs.php java .net 很方便的实现增加修改删除功 ...

  4. MongoDb 学习笔记(一) --- MongoDb 数据库介绍、安装、使用

    1.数据库和文件的主要区别 . 数据库有数据库表.行和列的概念,让我们存储操作数据更方便 . 数据库提供了非常方便的接口,可以让 nodejs.php java .net 很方便的实现增加修改删除功能 ...

  5. ORM基础之ORM介绍和基础操作

    一.ORM介绍 1.ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过 ...

  6. mongodb数据库安装及常见操作

    客户端和服务端的安装 # rpm -ivh mongo-10gen-2.4.6-mongodb_1.x86_64.rpm mongo-10gen-server-2.4.6-mongodb_1.x86_ ...

  7. mongodb 数据库中 的聚合操作

  8. PyCharm介绍与基础操作

    PyCharm是一种Python IDE(集成开发软件),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具. 1.1 PyCharm主界面 PyCharm包含4个主要区分,分别为菜单 ...

  9. Koa 操作 Mongodb 数据库

    node-mongodb-native的介绍 使用基于官方的 node-mongodb-native 驱动,封装一个更小.更快.更灵活的 DB 模块, 让我们用 nodejs 操作 Mongodb 数 ...

随机推荐

  1. [Swift]LeetCode329. 矩阵中的最长递增路径 | Longest Increasing Path in a Matrix

    Given an integer matrix, find the length of the longest increasing path. From each cell, you can eit ...

  2. [Swift]LeetCode450. 删除二叉搜索树中的节点 | Delete Node in a BST

    Given a root node reference of a BST and a key, delete the node with the given key in the BST. Retur ...

  3. [Swift]LeetCode994. 腐烂的橘子 | Rotting Oranges

    In a given grid, each cell can have one of three values: the value 0 representing an empty cell; the ...

  4. Spring设计模式_工厂模式

    先说下工厂模式的特性 1.对于调用者来说,影藏了复杂的逻辑处理过程,调用者只关心执行结果. 2.工厂要对结果负责,保证生产出符合规范的产品. Git代码地址  https://github.com/w ...

  5. python之读取配置文件模块configparser(一)基本操作

    configparser模块是读取类ini文件使用,其有固定的读取格式如下: [section1] option11 = value11 option12 = value12 .... [sectio ...

  6. 心路历程(一)-自学java两个月心得

    这是我的第一条博文,在敲这些文字的时候我已经是一名大四的"老者".说自己"老者"确实如此,因为以前每当这个时候大一新学妹有上架了,哈哈,每当这个时候我们就想了很 ...

  7. 【Maven】---坐标与依赖

    Maven坐标与依赖 最近想深度学习下maven,找到一本书叫<Maven实战>,这本书讲的确实很好,唯一遗憾的是当时maven教学版本是3.0.0的,而目前已经到了3.5.4了,版本存在 ...

  8. Calling handler.OnEndpointsUpdate报错原因

    过程:部署node01节点时从一台已经部署好的node02把/opt/kubernetes目录直接拷贝了过来,然后修改相应配置文件,启动kubelet是日志报如下图错误: 导致node01无法连接上m ...

  9. Android--Task和BackStack高级

    前言 之前的博客讲到了Android下Activity的启动模式,涉及到了Task和BackStack的内容,对这些不熟悉的朋友,可以先去看看:Android--Activity的启动模式.这篇博客主 ...

  10. 【Java基础】【07面向对象-构造方法&静态static】

    07.01_面向对象(构造方法Constructor概述和格式)(掌握) A:构造方法概述和作用 给对象的数据(属性)进行初始化 B:构造方法格式特点 a:方法名与类名相同(大小也要与类名一致) b: ...