mongoDB从入门到实战最全小白教程

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: mongoDB从入门到实战最全小白教程
mongoDB入门教程一:下载安装和环境配置、连接运行

MongoDB 是一个基于分布式文件存储的数据库, 是一个介于关系数据库和非关系数据库之间的产品。很久之前就已经学习过这个知识点,现在终于在工作之中用到,又重温了一遍,有点感到小幸运,庆幸自己还记得入门的时候的一些操作,现在用起来才不至于生疏。

MongoDB的下载和安装

1:windows的 64 位系统的预编译二进制包安装下载

2:下载之后点击安装

3:点击custom设置安装目录。

4:记住自己安装的路径

C:\Program Files\MongoDB\Server\4.0\

5:在 C 盘安装了 mongodb

6:点击下一步,安装完成

现在让我们创建一个 data 的目录然后在 data 目录里创建 db 目录。

MongoDB运行数据库和日志的配置

1:打开cmd(右键管理员身份打开),进入安装路径底下,新建一个data文件夹

mkdir c:\ data\db
mkdir c:\ data\log

于是在c盘底下简历了数据库和日志

2:运行:返回上一级,找到安装路径

cd/

3:从 MongoDB 目录的 bin 目录中执行 mongod.exe 文件。

通过 window 的资源管理器中找到一开始安装的路径

4:通过cmd进入这个路径、

C:\Program Files\MongoDB\Server\4.0\bin

执行命令

mongod.exe –dbpath c:\data\db

5:成功界面

服务器搭建完毕,成功提示,注意data的文件位置是c:\data\db

开始连接连接MongoDB

1:之前的窗口不变

再打开一个cmd窗口(右键以管理员身份)来运行mongo.exe。

同样打开bin文件,执行mongo.exe

cd\
cd Program Files\MongoDB\Server\4.0\bin

2:输入连接命令

mongo

我们的连接链接:

connecting to: mongodb://127.0.0.1:27017

来到浏览器测试一下

到这一步数据库已经成功跑起来了,接下来就是操作一些命令向数据库里面插入数据等并且可以看到自己对数据库的一系列操作的结果了。

3:OK

完全安装并可以运行MongoDB了

我们可以看到创建的数据库文件夹里面自动生成的文件

注意:如果:链接失败

执行mongo.exe失败怎么办??

执行mongod

查找到了原因,这个错误中说找不到C:\data\db这个文件夹


mongoDB入门教程二:推荐一款好用的mongoDB可视化工具Robo 3T

MongoDB的环境搭建完成之后,连接上了数据库之后,这个时候对数据库的一些操作是枯燥无味的,需要一款辅助的工具,也就是可视化的工具,对于每一步操作都可以看见实际的操作效果。

继续来看mongoDB可视化工具

1:下载安装和使用Robo 3T:

2:我安装在了D盘里面,操作默认下一步,直到完成安装。

3:完成安装之后打开可视化工具

点击Create,点击保存按钮

连接默认地址

连接之后可以看到默认的界面,默认的配置数据库,ok,可视化工具也准备就绪了,下一步就是开始操作数据库并且查看效果了。

mongoDB入门教程三:数据库的创建和删除(增删改查)基本命令

1:创建数据库

use student

打开可视化数据库工具,可以看到创建的student数据库

2:必须插入一个数据。

数据库中不能直接插入数据,只能往集合(collections)中插入数据。

db.student.insert({"name":"wangxiaoting"});

打开打开可视化数据库工具,可以看到插入的数据

注意

创建数据库之后插入一条数据,才会显示在可视化工具里面

继续创建两个数据库,创建一个teacher 和firend

3:显示当前的数据集合(mysql 中叫表)

4:删除数据库,删除当前所在的数据库

db.dropDatabase();

打开可视化工具,右击刷新,可以看到teacher的库已经删除

5:查看所有数据库列表,

show dbs

这个是一开始进入的时候里面是默认的数据库

这是刚刚自己创建的两个库


mongoDB入门教程四:安装Node+express环境支撑

mongoDB搭建完成之后,可以做很多小的项目,常见的又搭建简易的登陆系统,搭建博客等等,最重要的支持就是要用到Node+express,所以小婷顺便把这些也写一写,接下来要做的是一个基于mongoDB+Node+express搭建的登陆注册的后台管理系统流程示例。

1:安装node

端开发框架和环境都是需要 Node.js ,先安装node.js开发环境,vue的运行是要依赖于node的npm的管理工具来实现,下载https://nodejs.org/en/,安装完成之后,打开cmd开始输入命令。(我用的是win10系统,所以需要管理员权限,右键点击以管理员身份运行cmd),不然会出现很多报错。

2:查看node的版本号

下载好node之后,以管理员身份打开cmd管理工具,,输入 node -v ,回车,查看node版本号,出现版本号则说明安装成功。

输入命令: node -v

3:安装淘宝npm镜像

进入D盘(当然可以根据你自己的选择来安装路径)全局安装镜像。由于npm是国外的,使用起来比较慢,我们这里使用淘宝的cnpm镜像来安装vue.

淘宝的cnpm命令管理工具可以代替默认的npm管理工具。

输入命令:npm install -g cnpm --registry=https://registry.npm.taobao.org

安装成功之后显示如下

4:开始安装express插件模块

进入D盘,输入命令,全局安装express,我们知道-g也就是global全局的意思。

npm install -g express-generator

全局安装完成之后,可以看到D盘里面多出的express文件

5:创建一个项目

创建项目的命令      
express myapp

创建完成之后,可以看到d盘多出一个项目

6:进入项目,在项目里面安装依赖

cd myapp
npm install


我们可以看到项目里面多了两个依赖文件

7:启动项目

npm start

8:安装成功

打开浏览器,输入http://localhost:3000/。可以看到这个界面,说明安装成功。


mongoDB入门教程五:搭建一个简单的登陆注册界面

一:数据库开启开始连接连接MongoDB

1:打开一个cmd窗口(右键以管理员身份)来运行mongo.exe。同样打开bin文件,执行mongo.exe

cd\
cd Program Files\MongoDB\Server\4.0\bin

2:输入连接命令

mongo

3:我们的连接链接:

connecting to: mongodb://127.0.0.1:27017

来到浏览器测试一下

当然了,可以设置每次开机自动连接数据库。

二:项目创建及其运行

1:初始化一个项目

进入D盘,使用命令,开始创建一个项目

d:
express loginproject  -e

项目创建成功

我们可以看见D盘多了一个刚刚的项目文件夹

2:执行提示命令,进入项目,在项目里面安装相关依赖,把项目跑起来

cd loginproject
npm install
npm start 

可以发现项目里面多出了两个自动生成的依赖文件

启动命令:npm start

3:打开浏览器,输入:http://localhost:3000/,可以访问到初始项目

三:打开项目,了解项目目录开始写页面代码

1:查看项目自动生成的目录

简单的介绍一下啊

项目创建成功之后,生成四个文件夹,主文件app.js与配置信息文件packetage.json
bin是项目的启动文件,配置以什么方式启动项目,默认 npm start
public是项目的静态文件,放置js css img等文件
routes是项目的路由信息文件,控制地址路由
views是视图文件,放置模板文件ejs或jade等(其实就相当于html形式文件啦~)
express这样的MVC框架模式,是一个Web项目的基本构成。


2:开始写一些简单的界面代码,在views下面建一些需要用到的界面 ,所有代码就不一一的展示了,有兴趣的可以去小婷的github上面下载一下。

3:新建一个models文件夹,在该文件夹下新建user.js并且写好代码

var mongoose = require("mongoose");  //  顶会议用户组件
var Schema = mongoose.Schema;    //  创建模型
var userScheMa = new Schema({
    userid: String,
    password: String
}); //  定义了一个新的模型,但是此模式还未和users集合有关联
exports.user = mongoose.model('users', userScheMa); //  与users集合关联

4::在routes目下的index.js配置路由:

var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var user = require('../models/user').user;
mongoose.connect('mongodb://localhost/admin');
/* GET home page. */
router.get('/', function(req, res) {
      res.render('index', { title: 'index' });
});
/*login*/
router.get('/login', function(req, res) {
    res.render('login', { title: 'login' });
});
/*logout*/
router.get('/logout', function(req, res) {
      res.render('logout', { title: 'logout' });
});
/*hompage*/
router.post('/homepage', function(req, res) {
    var query_doc = {userid: req.body.userid, password: req.body.password};
    (function(){
        user.count(query_doc, function(err, doc){
            if(doc == 1){
                console.log(query_doc.userid + ": login success in " + new Date());
                res.render('homepage', { title: 'homepage' });
            }else{
                console.log(query_doc.userid + ": login failed in " + new Date());
                res.redirect('/');
            }
        });
    })(query_doc);
});
module.exports = router;

好了

四:在mongoDB数据库里面创建用户名和密码
use admin
//插入用户名和密码
db.users.insert({userid:"super",password:"123"})
//查看所有
db.users.find()

在插入一个用户名和密码,这两个用户名密码都可以登陆。

db.users.insert({userid:"admin",password:"123456"})

打开可视化工具可以看到创建的用户名密码

五:一切准备就绪,回到浏览器,查看效果

从登陆界面登陆进去,再退出来,一套流程就是如此。css就不写了,时间不多,如果感兴趣的可以自己写。

相关文章
|
7月前
|
存储 NoSQL API
微服务——MongoDB实战演练——需求分析
本文档《5-MongoDB实战演练》聚焦于某头条文章评论业务的需求分析与功能实现。基于MongoDB,需完成以下功能:1)提供基本的增删改查API;2)支持通过文章ID查询相关评论;3)实现评论点赞功能。结合实际业务场景,演示MongoDB在数据存储与操作中的应用,附带示意图帮助理解业务结构。
86 2
微服务——MongoDB实战演练——需求分析
|
7月前
|
NoSQL MongoDB 微服务
微服务——MongoDB实战演练——文章评论的基本增删改查
本节介绍了文章评论的基本增删改查功能实现。首先,在`cn.itcast.article.dao`包下创建数据访问接口`CommentRepository`,继承`MongoRepository`以支持MongoDB操作。接着,在`cn.itcast.article.service`包下创建业务逻辑类`CommentService`,通过注入`CommentRepository`实现保存、更新、删除及查询评论的功能。最后,新建Junit测试类`CommentServiceTest`,对保存和查询功能进行测试,并展示测试结果截图,验证功能的正确性。
118 2
|
7月前
|
NoSQL Java MongoDB
微服务——MongoDB实战演练——文章评论实体类的编写
本节主要介绍文章评论实体类的编写,创建了包`cn.itcast.article.po`用于存放实体类。具体实现中,`Comment`类通过`@Document`注解映射到MongoDB的`comment`集合,包含主键、内容、发布时间、用户ID、昵称等属性,并通过`@Indexed`和`@CompoundIndex`注解添加单字段及复合索引,以提升查询效率。同时提供了Mongo命令示例,便于理解和操作。
108 2
|
7月前
|
NoSQL 测试技术 MongoDB
微服务——MongoDB实战演练——MongoTemplate实现评论点赞
本节介绍如何使用MongoTemplate实现评论点赞功能。传统方法通过查询整个文档并更新所有字段,效率较低。为优化性能,采用MongoTemplate对特定字段直接操作。代码中展示了如何利用`Query`和`Update`对象构建更新逻辑,通过`update.inc("likenum")`实现点赞数递增。测试用例验证了功能的正确性,确保点赞数成功加1。
136 0
|
7月前
|
NoSQL 测试技术 MongoDB
微服务——MongoDB实战演练——根据上级ID查询文章评论的分页列表
本节介绍如何根据上级ID查询文章评论的分页列表,主要包括以下内容:(1)在CommentRepository中新增`findByParentid`方法,用于按父ID查询子评论分页列表;(2)在CommentService中新增`findCommentListPageByParentid`方法,封装分页逻辑;(3)提供JUnit测试用例,验证功能正确性;(4)使用Compass插入测试数据并执行测试,展示查询结果。通过这些步骤,实现对评论的高效分页查询。
101 0
|
7月前
|
NoSQL MongoDB 微服务
微服务——MongoDB实战演练——文章微服务模块搭建
本节介绍文章微服务模块的搭建过程,主要包括以下步骤:(1)创建项目工程 *article*,并在 *pom.xml* 中引入依赖;(2)配置 *application.yml* 文件;(3)创建启动类 *cn.itcast.article.ArticleApplication*;(4)启动项目,确保控制台无错误提示。通过以上步骤,完成文章微服务模块的基础构建与验证。
84 0
|
7月前
|
NoSQL Java 测试技术
MongoDB实战演练
本文介绍了基于Spring Boot和MongoDB实现文章评论功能的完整流程。主要包括需求分析、表结构设计、技术选型(如mongodb-driver与SpringDataMongoDB)、项目搭建及配置、实体类编写、基本增删改查功能实现、分页查询以及点赞功能的开发。通过Comment实体类、CommentRepository接口和CommentService服务层,实现了评论的存储、查询及更新操作,并利用MongoTemplate优化了点赞功能的性能。最后通过JUnit测试验证各功能的正确性。该方案适合需要高效处理非结构化数据的文章评论系统开发。
MongoDB实战演练
|
NoSQL MongoDB
MongoDB入门-sort和投影
这篇文章介绍了MongoDB中的排序(sort)和投影(projection)操作,通过示例代码展示了如何使用这些功能来控制查询结果的排序顺序和返回的字段。
117 3
MongoDB入门-sort和投影
|
7月前
|
NoSQL MongoDB 数据库
微服务——MongoDB实战演练——表结构分析
本文档来源于数据库articledb,展示了一张图片资源。图片宽度为1207像素,高度607像素,采用内联显示方式。内容涉及图像处理与样式设定,适用于文档或网页设计中多媒体元素的布局参考。图片来源为cdn.nlark.com,支持webp格式并附带水印处理。
75 1
微服务——MongoDB实战演练——表结构分析
|
7月前
|
NoSQL Java 数据库连接
微服务——MongoDB实战演练——技术选型
本节主要介绍技术选型中的两个重要工具:**mongodb-driver** 和 **SpringDataMongoDB**。其中,mongodb-driver 是 MongoDB 官方提供的 Java 驱动包,用于连接和操作 MongoDB 数据库,功能类似 JDBC 驱动。通过官方示例可快速上手。而 SpringDataMongoDB 是 Spring 生态的一员,封装了 mongodb-driver,提供了更简洁的 API,方便开发者在 Spring 环境中操作 MongoDB。两者各有优势,可根据实际需求选择合适的技术方案。
86 2

推荐镜像

更多