Windows下MongoDB数据库基本使用

Windows下MongoDB数据库基本使用

上一篇文档中已经讲述了如何在windows环境下安装MongoDB数据库,详情查看https://blog.****.net/LXF_space1/article/details/107225006

1、MongoDB是什么
①MongoDB是一个基于分布式文件存储的数据库.由c++语言编写.旨在为web应用提供可扩展的高性能数据存储解决方案。
②MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最丰富,最像关系数据库的。
③它和关系型数据库最大的区别就是约束性,可以说文件数据库基本不存在约束性,理论上没有外键约束,没有存储数据类型约束。
④在关系型数据库中有一个"表"的概念,有"字段"的概念,有"数据条目"的概念,MongoDB中也同样有以上的概念,但是名称发生了一些变化,严格意义上来说,两者的概念极为相似,但又有所不同,并且MongoDB的每个表(collection)中存储的每条数据(documents)都是一个一个的json,json中的每一个字段(key)我们称之为:field。

下面开始进入基本学习。

2、配置启动环境变量
右键我的电脑->属性,打开系统界面,点击高级系统设置,进行环境变量的配置,新建变量名:MONGO_HOME,变量值:MongoDB安装路径。
Windows下MongoDB数据库基本使用
添加path变量,添加‘%MONGO_HOME%\bin’.
Windows下MongoDB数据库基本使用
3、启动MongoDB数据库
打开cmd,以管理员身份运行,执行:mongo,会进入服务。
Windows下MongoDB数据库基本使用
MongoDB是没有默认管理员账户的,所以需要先创建一个管理所有数据库的账户,先执行“use admin”,然后执行“db.createUser({user:“admin”,pwd:“admin”,roles:[{“role”:“userAdminAnyDatabase”,“db”:“admin”}]})”,出现Successfully后表示创建成功。
Windows下MongoDB数据库基本使用
4、然后需要通过管理员账户admin,创建我们需要的业务数据库和用户名。
用admin用户登录mongodb,创建数据库appData和它对应的用户appsoft,所有用户只能在用户所在的数据库登录,管理员可以管理所有的数据库,但是不能直接管理其它数据库,要先在admin数据库中认证才可以。
Windows下MongoDB数据库基本使用
先执行“use appData”,然后执行db.createUser({user:“appsoft”,pwd:“appsoft”,roles:[{“role”:“readWrite”,“db”:“appData”}]}),出现Successfully后表示创建成功。
Windows下MongoDB数据库基本使用
5、在数据库appData中创建一张表(collection)testTable。
Windows下MongoDB数据库基本使用
6、向表testTable中插入数据。
①insert方法,插入一条或多条数据需要带有允许插入多条的参数,这个方法目前官方已经不推荐了。
Windows下MongoDB数据库基本使用
②insertOne方法,插入一条数据,官方推荐。
Windows下MongoDB数据库基本使用
③insertMany方法,插入多条数据,官方推荐。
Windows下MongoDB数据库基本使用
7、查询testTable数据表中的数据。
①find(),就是无条件的多条查询。
Windows下MongoDB数据库基本使用
②find({“teacher”:”Mr wang”}),有条件的查询。
Windows下MongoDB数据库基本使用
③findOne(),该方法查找的时候没有条件,默认是表中的第一条数据,若有条件则查找符合条件的一条数据
Windows下MongoDB数据库基本使用
8、修改testTable数据表中的数据,并且set的时候,如果没有相应的属性,那么就会自动创建该属性,并且set值(MongoDB的灵活性)
①update(),根据条件修改该条数据。要注意,第一个{}中为条件,第二个{}中$后面为关键字set,第三个{}中为修改值,如果条件为空将会修改testTable中所有的数据,官方不推荐方法。
Windows下MongoDB数据库基本使用
②updateOne(),根据条件修改一条内容,如果符合条件的是多条数据,则修改表中最前面的一条数据。
Windows下MongoDB数据库基本使用
③updateMany(),根据条件修改内容,可以修改多条符合条件的数据。
Windows下MongoDB数据库基本使用
9、删除testTable中的数据
①remove()。
是MongoDB提供的一种删除数据的API,但是,现在官方已经不推荐使用这种方法。当使用remove({}),表示无条件删除数据,这里删除的是所有的数据,相当于清空collection中的数据,需要慎用;当使用remove({“name”:”javaEE”}),表示按照条件删除符合条件的数据。后续需要使用数据,所以就不清空了。
②deleteOne()。
该方法是官方推荐的方法,使用时deleteOne({“name”:”javaEE”}),表示删除符合条件的数据中的第一条。
Windows下MongoDB数据库基本使用
③deleteMany()。
使用时deleteMany({“name”:”javaEE”}),表示删除符合条件的所有数据。
Windows下MongoDB数据库基本使用
MongoDB数据库的基本增删改查操作简述完毕,后续会继续更新MongoDB相关的基本知识和踩坑点。