iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MongoDB数据库基础操作的示例分析
  • 537
分享到

MongoDB数据库基础操作的示例分析

2024-04-02 19:04:59 537人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关mongoDB数据库基础操作的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。为了保存网站的用户数据和业务数据,通常需要一个数据库。Mo

这篇文章将为大家详细讲解有关mongoDB数据库基础操作的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

为了保存网站的用户数据和业务数据,通常需要一个数据库。MonGoDB和node.js特别般配,因为Mongodb是基于文档的非关系型数据库,文档是按BSON(JSON的轻量化二进制格式)存储的,增删改查等管理数据库的命令和javascript语法很像。

数据库

数据库,顾名思义,是数据存储的仓库,主要功能有两个

1、有组织地存放数据

与在磁盘上自己存放文件不同,数据库替用户组织了数据的存储形式,用户只需要按照数据库提供的接口将数据写入,数据便会按照标准的格式被存储起来

2、按照不同的需求进行查询

数据库不仅要能写入数据,还支持数据查询,并且能够按照不同的需求进行查询。因为存储是有组织的,因此查询上可以更规范化,查询速度也会快很多

不同的数据库的区别就是存放数据的组织不同,同时提供了不同种类的查询。用户可以按照自己的需求,选择合适的数据库

【分类】

数据库的分类有很多种,按照对sql语言的支持,可以分为以下两种:

1、SQL数据库,比如oracleMysql

2、NoSQL数据库,比如Redis、MongoDB等

随着在规模互联网应用的出现,传统的SQL数据库遇到了一些设计上的弊端。比如,SQL对表的定义使应用不够灵活,横向扩展比较困难。与一些特性难以满足相比,反而是SQL数据库的很多特性没有用武之地。比如,在很多场景下,及时存取并不是必要的,也没有特别多的事务需求,而这些额外的特性消耗着SQL数据库的性能

因此NoSQL数据库应运而生,NoSQL全称是Not Only SQL,意即"不仅仅是SQL"。但事实上,绝大多数NoSQL数据库都放弃了对SQL语言的支持。与SQL关系型数据库相比,NoSQL非关系型数据库大多放弃了一些特性。比如,放弃了实时一致性、对事务的完整支持以及多表查询等。听起来缺点很多,但收益也明显,NoSQL数据库简单便捷、方便扩展,并且有更好的性能

概述

MongoDB是一个开源的NoSQL数据库,在国内被称为芒果数据库。linux、Apache、mysqlPHP组成了非常有名的LAMP架构。现在,有人提议将LAMP中的代表M的MySQL替换为MongoDB

NoSQL数据库有很多,为什么要选择MongoDB呢?

MongoDB 是一个基于分布式文件存储的数据库。由 c++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB使用集合(collection)和文档(document)来描述和存储数据,集合(collection)就相当于表,文档(document)相当于行,字段相当于列,不像MySQL之类的关系型数据库,表结构是固定的,比如某一行由若干列组成,行行都一样,而MongoDB不同,一个集合里的多个文档可以有不同的结构,更灵活一些

MongoDB有自己很鲜明的特色,总结起来有以下4条

1、没有表结构的限制

传统SQL数据库中,对每张表都需要定义表结构。如果有新的存储需求,往往需要添加新的字段,更改表结构。在一些场景下,会显得很不方便,而对于MongoDB,这不再是问题。因为它没有表结构这个概念,在使用一张表之前,不需要对这张表进行任何初始化操作。MongoDB的这种特性对快捷开发和多变的业务需求是很合适的

2、完全的索引支持

有些NoSQL数据库,比如redis,它是内存数据库,速度很快。但是,做为键值数据库,只支持一种按键查询的方式。灵活性、使用范围和易用性都受到影响;再比如HBase,写入速度很快。但是,同样查询受限,它只支持单索引,二级索引需要自己实现

而MongoDB支持单键索引、多键索引、全文索引和地理位置索引。所以MongoDB是功能非常完善的NoSQL数据库,也被称为最接近关系数据库的非关系数据库

3、良好的数据安全性和方便的规模扩展

MongoDB使用复制集做多副本存储,以保证数据的安全性。同时,MongoDB内置的分片技术可以很方便地进行数据规模的扩展。分片技术是很新颖的一个特性,它包含了自动数据接口,动态扩容和缩容等一系列在其他数据库中需要大量人工操作的工作,同时提供了对数据库的统一访问入口,不需要在应用层再进行分发,显著减少了人工成本

4、完善的文档支持和驱动支持

安装

首先,在官网的下载页面选择合适的MongoDB版本进行下载

MongoDB数据库基础操作的示例分析

然后,一步一步进行安装即可

MongoDB数据库基础操作的示例分析

MongoDB数据库基础操作的示例分析

默认情况下,安装到C盘的Program Files文件夹下的MongoDB文件夹中

MongoDB数据库基础操作的示例分析

MongoDB数据库基础操作的示例分析

服务器配置

【搭建服务器】

搭建服务器,需要进行以下几个步骤

1、创建data文件夹存储数据库的数据文件;创建log文件夹存储数据库的日志文件;创建bin文件夹存储数据库的可执行文件;创建conf文件夹来存储数据库的配置文件

2、在windows系统下需要设置环境变量,否则在命令行中会提示mongod命令不可用

在环境变量的path中,添加mongod.exe文件的目录

MongoDB数据库基础操作的示例分析

3、接下来,有两种方式启动mongoDB服务,一种如下所示,设置dppath参数值为自定义的目录路径

mongod --dbpath=D:/app/mongo/data

由下图看出,mongodb的默认端口是27017

MongoDB数据库基础操作的示例分析

4、另一种是在conf文件夹下新建mongod.conf文件,在这个文件中将设置mongodb启动的配置参数

dbpath = datalogpath = log/mongod.log
mongod -f conf/mongod.conf

这种方法在命令行工具中没有任何提示,因为记录已经保存到日志文件中,此时mongodb服务已经正常开启

MongoDB数据库基础操作的示例分析

【连接服务器】

在搭建好mongodb服务器之后,需要使用客户端mongo进行连接,才能进行下一步的操作

因为是使用mongo连接mongodb服务器,所以需要保证启动mongodb服务器的命令行工具不被关闭,新开一个命令行工具,并输入mongo 127.0.0.1/test,test为数据库的名称

MongoDB数据库基础操作的示例分析

【关闭mongod服务】

首先切换到admin数据库(use admin),然后使用db.shutdownServer()命令来关闭服务

MongoDB数据库基础操作的示例分析

数据库操作

【默认】

MongoDB 中默认的数据库为 test,如果没有创建新的数据库,集合将存放在 test 数据库中

【查看】

使用show dbs来查看数据库

show dbs

MongoDB数据库基础操作的示例分析

【创建/切换】

使用use命令来切换/创建数据库,会发现创建的数据库并不在数据库的列表中, 要显示它,需要向数据库插入一些数据

use db_name

MongoDB数据库基础操作的示例分析

【显示当前数据库】

使用db命令来显示当前数据库

db

MongoDB数据库基础操作的示例分析

【将数据写入集合中】

使用db.集合名.insert(文档)来将文档的数据写入集合中,文档的格式为jsON。而所有存储在集合中的数据都是BSON格式。BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。

db.collection_name.insert()

MongoDB数据库基础操作的示例分析

【查看集合】

上面的插入操作,会自动创建集合db1_coll1,使用show collections命令可以查看当前数据库中的所有集合

MongoDB数据库基础操作的示例分析

【删除数据库】

这将删除当前所选数据库。 如果没有选择任何数据库,那么它将删除默认的'test‘数据库

db.dropDatabase()

MongoDB数据库基础操作的示例分析

集合操作

集合类似于SQL数据库中的数据表,标识为collection

【查看集合】

可以使用命令show collections检查创建的集合

[注意]也可以使用show tables来查看集合

MongoDB数据库基础操作的示例分析

【创建集合】

在插入文档时,MongoDB首先检查上限集合capped字段的大小,然后检查max字段

db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean>, size: <number>, max <number>} )

name:集合的名字

capped:是否启用集合限制,如果开启需要制定一个限制条件,默认为不启用,这个参数没有实际意义

max:集合中最大条数限制,默认为没有限制

size:限制集合使用空间的大小,默认为没有限制,size的优先级比max要高

autoIndexId:是否使用_id作为索引,默认为使用(true或false)

MongoDB数据库基础操作的示例分析

[注意]向集合中插入文档时,如果集合不存在 ,则会自动创建集合

MongoDB数据库基础操作的示例分析

【删除集合】

MongoDB 的 db.collection_name.drop() 用于从数据库中删除集合。如果选定的集合成功删除,drop()方法将返回true,否则返回false

MongoDB数据库基础操作的示例分析

关于“MongoDB数据库基础操作的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: MongoDB数据库基础操作的示例分析

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

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

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

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

下载Word文档
猜你喜欢
  • MongoDB数据库基础操作的示例分析
    这篇文章将为大家详细讲解有关MongoDB数据库基础操作的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。为了保存网站的用户数据和业务数据,通常需要一个数据库。Mo...
    99+
    2022-10-18
  • Mongodb基本操作与Python连接mongodb并进行基础操作的示例分析
    这篇文章主要介绍Mongodb基本操作与Python连接mongodb并进行基础操作的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mongodb是基于分布式文件存储的nos...
    99+
    2022-10-18
  • MongoDB数据库安装配置、基本操作的示例分析
    小编给大家分享一下MongoDB数据库安装配置、基本操作的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:1、简...
    99+
    2022-10-18
  • Java基础之JDBC连接数据库与基本操作的示例分析
    小编给大家分享一下Java基础之JDBC连接数据库与基本操作的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java可以用来干什么Java主要应用于:1....
    99+
    2023-06-14
  • MySQL数据库基本操作的示例分析
    这篇文章主要介绍了MySQL数据库基本操作的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、数据库的安装这个就不在这里过多阐述了,...
    99+
    2022-10-18
  • 基于MongoDB数据库中数据类型和$type操作符的示例分析
    这篇文章将为大家详细讲解有关基于MongoDB数据库中数据类型和$type操作符的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前面的话  本文将详细介绍Mong...
    99+
    2022-10-18
  • 详解MongoDB数据库基础操作及实例
    详解数据库基础操作及实例           废话不多说,直接上代码,注释写的比较清楚,大家参考下,  示...
    99+
    2022-10-18
  • 总结MongoDB数据库的基础操作
    这篇文章主要讲解了总结MongoDB数据库的基础操作,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。本文实例讲述了MongoDB数据库基础操作。分享给大家供大家参考,具体如下:1...
    99+
    2022-10-18
  • node.js操作mongoDB数据库示例分享
    连接数据库 var mongo=require("mongodb"); var host="localhost"; var port=mongo.Connection.DEFAULT_PORT; ...
    99+
    2022-06-04
    示例 操作 数据库
  • mysql数据库基础知识点的示例分析
    这篇文章将为大家详细讲解有关mysql数据库基础知识点的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数据库一、 修改数据表添加一列:ALTERTABL...
    99+
    2022-10-18
  • MongoDB数据库角色的示例分析
    这篇文章给大家分享的是有关MongoDB数据库角色的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 Database User Roles ...
    99+
    2022-10-19
  • c#操作mongodb插入数据效率的示例分析
    这篇文章主要介绍了c#操作mongodb插入数据效率的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。mongodb的数据插入速度是其...
    99+
    2022-10-18
  • Python MySQL数据库基本操作及项目示例分析
    这篇文章主要介绍“Python MySQL数据库基本操作及项目示例分析”,在日常操作中,相信很多人在Python MySQL数据库基本操作及项目示例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-25
  • MySQL数据库的基本操作实例分析
    本文小编为大家详细介绍“MySQL数据库的基本操作实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL数据库的基本操作实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、MySQL简介1、数据...
    99+
    2023-06-30
  • java数组基础的示例分析
    这篇文章主要介绍java数组基础的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数组数组(Array):相同类型数据的集合。Java 数组初始化的两种方法: 静态初始化: 程序员在初始化数组时为数组每个元素赋...
    99+
    2023-05-30
    java 数组
  • Hadoop大数据基础框架的示例分析
    这篇文章主要介绍Hadoop大数据基础框架的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是大数据?进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估...
    99+
    2023-06-02
  • JavaScript基础之数据类型的示例分析
    这篇文章主要为大家展示了“JavaScript基础之数据类型的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript基础之数据类型的示例分析...
    99+
    2022-10-19
  • Java基础的示例分析
    小编给大家分享一下Java基础的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、Java主要特点简单性、跨平台性、分布性、安全性、健壮性、平台独立与可移...
    99+
    2023-06-20
  • MySQL基础的示例分析
    这篇文章给大家分享的是有关MySQL基础的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MySQL入门mySQL (关系型数据库管理系统)MySQL是一个关系型数据库管理...
    99+
    2022-10-18
  • javaScript基础的示例分析
    这篇文章主要为大家展示了“javaScript基础的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javaScript基础的示例分析”这篇文章吧。首先讲...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作