千家信息网

MongoDB数据库安装配置、基本操作的示例分析

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,小编给大家分享一下MongoDB数据库安装配置、基本操作的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:
千家信息网最后更新 2025年01月22日MongoDB数据库安装配置、基本操作的示例分析

小编给大家分享一下MongoDB数据库安装配置、基本操作的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

具体如下:

1、简介

NO SQL:NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",是对不同于传统的关系数据库管理系统(RDBMS)的统称。NoSQL用于超大规模数据的存储,这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

RDBMSNOSQL
- 高度组织化结构化数据
- 结构化查询语言(SQL)
- 数据和关系都存储在单独的表中。
- 数据操纵语言,数据定义语言
- 严格的一致性
- 基础事务
- 代表着不仅仅是SQL
- 没有声明性查询语言
- 没有预定义的模式
-键 - 值对存储,列存储,文档存储
- 最终一致性,而非ACID属性
- 非结构化和不可预知的数据
- CAP定理
- 高性能,高可用性和可伸缩性

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。MongoDB 将数据存储为一个文档,数据结构由键值对(key=>value)组成。MongoDB 文档类似于 JSON 对象,可轻易查询文档中内嵌的对象及数组。字段值可以包含其他文档,数组及文档数组。可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。如果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其他节点上(即所谓的分片)。

2、安装配置

1、官网下载windows安装包https://www.mongodb.com/download-center#community

2、点击安装包,按照指示安装,选择custom自定义安装位置。注:我在安装3.6版本的时候软件报错无法完成安装,查询后发现将安装最后一步时的compass框不勾选,即可完成安装,如果需要compass,安装之后再次点击安装程序,选择change选项,重新安装compass。

3、配置mongodb:在你想要的位置新建三个文件:data文件夹(用于存放数据库数据),logs\mongodb.log文件(用于存放数据库日志),etc\mongodb.conf文件(用于相关配置)。打开mongodb.conf文件,输入相关配置信息:

#数据库路径dbpath=D:\MongoDB\data#日志输出文件路径logpath=D:\MongoDB\logs\mongodb.log#错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件logappend=true#启用日志文件,默认启用journal=true#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为falsequiet=true#端口号 默认为27017port=27017

4、安装mongo服务:在mongo安装目录下的bin文件夹下打开命令行,输入:

mongod --config "D:\MongoDB\etc\mongodb.conf" --install --serverName "MongoDB"

--config后跟刚才保存的配置文件地址,--serverName后跟创建的服务的名字

执行之后在Windows10搜索服务可以看到mongodb服务,点击开启:

或者在MongoDB /bin 目录中执行命令行 mongod --dbpath ../data,启动mongo服务。

5、打开命令行:配置环境变量,添加环境变量到MongoDB的bin文件夹下,这样在任意位置新建一个命令行窗口,输入mongo就可以开启mongo的shell命令行了。

3、基本操作

1、创建/切换到数据库:use DatabaseName,新建一个数据库并不会显示出来,只有在向其中插入记录后才会显示

删除数据库:

db.dropDatabase()

2、创建一个集合:

db.createCollection('mall')

删除集合mall:

db.mall.drop()

3、创建用户。给数据库mall创建一个用户:

db.createUser({"user":"root",pwd:"mallroot",roles:[{role:'dbOwner',db:'mall'}]})

4、向数据库导入JSON文件。退出mongo,在cmd下执行:

mongoimport -d mall -c user --file F:\resource\mall-users

就将mall-users文件导入到mall数据库的user集合中

5、向集合mall中插入一条记录:

db.mall.insert({"name":"小米6","price":"2699"})

像json格式一样,以键值对的形式(key=>value)将你想要插入的数据写入即可。

6、删除一条数据:

db.mall.remove({mID:1005})

删除mID为1005的一条数据,注意如果在插入的时候{mID:"1005"}为字符串类型,{mID:1005}为number类型

7、修改一条数据:

db.mall.update({name:"小米6"},{$set:{price:"2399"}})

update中第一个参数是修改数据的条件,第二个参数利用$set设置修改的键值

8、查看集合中的数据:

db.mall.find()

在后面加.pretty()可以格式化查看其中数据。

条件查询:

db.mall.find({price:{$lt:2000}})

查询price低于2000的条目

9、数组操作

占位符$代表数组的下标,例如只更新cartList数组中满足条件的元素,

user.update({conditions},{  $set:{"cartList.$.productNum":productNum} })

$addToSet: 如果数组中没有该数据,向数组中添加数据,如果该数组中有相同数组,不添加

user.update({conditions},{  $addToSet:{cartList:cartItem} })

$pop:删除数组数据,1从头删除,-1从尾删除

user.update({conditions},{  $pop:{cartList:1} })

$pull:删除指定数据,例如对指定userId下的cartList数组删除其中指定的productId的元素

user.update({userId:userId},{  $pull:{   cartList:{productId:productId}  } }

$push:向数组中插入一个元素、$each 遍历数组、$sort 对数组进行排序、$slice 对数组进行裁减、$position 指定插入数据的位置。

db.test.update( { _id: 5 }, { $push: { quizzes: { $each: [ { wk: 5, score: 2 },                { wk: 6, score: 1 },                { wk: 7, score: 3 } ], //遍历插入数据            $sort: { score: -1 },     //按score降序            $slice: 3,           //裁剪只留下前三条数据            $position:2          //从第二个位置开始插入           }      } } );

以上是"MongoDB数据库安装配置、基本操作的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

数据 数组 文件 数据库 配置 存储 日志 文档 查询 命令 语言 服务 位置 结构 基本操作 元素 文件夹 条件 模式 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 罗布乐思怎么进入相同的服务器 云南计算机网络技术 access数据库统计分析 银行软件开发程序员公司前景 软件开发技术管理助理 土地分类数据库 如何在数据库上存图片 网络安全设备设计规范 网络安全花边 计算机与网络技术对社会的影响 主播游戏如何更改服务器 计算机网络技术产品 奶块搬砖哪个服务器好 access数据库程序设计是什么 大学生网络安全宣传周ppt 大兴机房服务器回收门店 软件开发者大调查 关于网络安全的好开头 我国网络安全的主要威胁来子 面积在数据库中用什么字段 物联网无线传感网络技术论文 mysql显示数据库表内容 软件开发公司入门测试 阿里云无影云服务器如何连接 广东算力服务器租赁报价单 网络安全文明上网团小组过程 敏捷软件开发书推荐知乎 安庆市弹性云服务器租赁 近三个月互联网科技新闻 我国网络安全的主要威胁来子
0