二、部署在本地服务器

在上次的学习过程中,我们主要进行了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]LeetCode39. 组合总和 | Combination Sum

    Given a set of candidate numbers (candidates) (without duplicates) and a target number (target), fin ...

  2. Spark MLlib

    MLlib    数据挖掘与机器学习        数据挖掘体系 数据挖掘:也就是data mining,是一个很宽泛的概念,也是一个新兴学科,旨在如何从海量数据中挖掘出有用的信息来.         ...

  3. Java并发编程-volatile可见性的介绍

    要学习好Java的多线程,就一定得对volatile关键字的作用机制了熟于胸.最近博主看了大量关于volatile的相关博客,对其有了一点初步的理解和认识,下面通过自己的话叙述整理一遍. 有什么用? ...

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

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

  5. Linux篇---Grep和正则匹配

    一.前述 Linux中正则匹配查找比较常用,所以分享一篇关于正则匹配和Grep结合的文章. 二.匹配规则 匹配操作符: \                  转义字符.                 ...

  6. [Leetcode]669 Trim a Binary Search Tree

    Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so that a ...

  7. Chapter 5 Blood Type——9

    He grimaced. 他扮了一个鬼脸. "Or better," I continued, the pent-up annoyance flowing freely now, ...

  8. 【java 多线程】多线程并发同步问题及解决方法

    一.线程并发同步概念 线程同步其核心就在于一个“同”.所谓“同”就是协同.协助.配合,“同步”就是协同步调昨,也就是按照预定的先后顺序进行运行,即“你先,我等, 你做完,我再做”. 线程同步,就是当线 ...

  9. [Linux] 取两个文件的并集/交集/差集

    uniq -d是只打印重复行 -u是只打印独一无二的行文件A : abcd文件B: cdef取并集:A + B sort A B|uniq 取交集: sort A B|uniq -d 取差集:A - ...

  10. 对HTML5标签的认识(二)

    ---恢复内容开始--- 这次随笔主要讲一下列表标签.链接标签.和表格标签.图像标签.音频标签.及视频标签的运用及作用. 一.<ul>和<ol> 首先先了解一下<ul&g ...