MongoDB数据库基础操作

MongoDB

数据库概念

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

常见的数据库

关系型数据库[a1] (sql):Access mySql SqlServer oracle db2等。


数据库----表-----行

什么是关系型数据库?

关系型数据库 以行和列的形式存储数据,以便于用户理解。这一系列的行和列被称为表,一组表组成了数据库。表与表之间的数据记录有关系。


非关系型数据库( NoSql ): MongoDB,Redis,HBase,CouchDB等。

数据库-----集合-----文档

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

分布式算法指的是讲一个大的任务分成多个小的任务,最后将小任务的结果拼接起来,

MongoDB 是非关系型数据库当中功能最丰富,最像关系型数据库的。

它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

· 面向集合存储,易存储对象类型的数据。

· 模式自由。

· 支持动态查询。

· 支持完全索引,包含内部对象。

· 支持查询。

· 支持复制和故障恢复。

· 使用高效的二进制数据存储,包括大型对象(如视频等)。

· 自动处理碎片,以支持云计算层次的扩展性

· 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。

· 文件存储格式为BSON(一种JSON的扩展)

BSON是一种类似json的二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象数组对象,但是**BSON有JSON没有的一些数据类型,**如Date和BinData类型。

安装并配置
1、下载安装
。下载安装包,一路next到底

4版本以上支持自动安装,并配置环境变量,以下3版本需要手动安装

2、配置
。默认的安装路径

​ C:\Program Files\MongoDB\Server\3.4\bin

。设置环境变量

​ 为了在cmd窗口的任何路径下都能运行,需要先设置环境变量

​ 右键我的电脑-----高级系统设置-----环境变量----系统变量(path)----将安装路径添加在最后。

。创建文件夹

​ 在d盘建立一个文件夹mongodb,并且建立子目录db和log.

​ 在log目录下建立一个文件MongoDB.log ,后缀为.log.

d:\mongodb\db、d:\mongodb\log, 分别用来存放数据库文件和数据库日志文件.

​ 把mongodb文件夹的只读属性去掉。

。以管理员身份运行
执行以下命令:mongod  --storageEngine mmapv1 --dbpath"d:\mongodb\db" --logpath "d:\mongodb\log\MongoDB.log"

​ 执行后,就挂起了,需要另外开命令窗口测试是否启动成功

​ 原来的cmd窗口不关闭,以管理员身份再开一个cmd窗口,输入mongo或者mongo.exe,出现有版本号等信息说明测试通过

。安装为Windows服务

​ 当mongod.exe被关闭时,mongo.exe 就无法连接到数据库了,因此每次想使用mongodb数据库都要开启mongod.exe程序,所以比较麻烦,此时我们可以将MongoDB安装为windows服务

以管理员身份运行cmd,进入bin文件夹,执行下列命令

mongod 
--storageEngine mmapv1 --dbpath "d:\mongodb\db" --logpath
"d:\mongodb\log\MongoDB.log" --install --serviceName
"MongoDB"

。开启关闭删除进程

开启进程

​ NET START MongoDB

关闭服务

​ 先 ctrl+c

​ net stop MongoDB

MongoDB常用命令
基本命令

help 查看帮助

show dbs 显示数据库列表

use dbname 数据库不存在,创建数据库,存在,切换到该数据库

show collections 显示数据库的集合

增加数据:

db.集合名.save({“name”:“laoli”})

创建一个集合并新增了一条数据

db.集合名.insert({“name”:“laoli”})

在集合中插入一条数据,如果没有这个集合,会自动创建这个集合

区别:若新增的主键存在insert()会报错,save()则更改原来的内容为新内容

注:_id为主键

删除数据:

文档:

db.集合名.remove({}) 删除集合下的所有数据

db.集合名.remove({“name”:“laoli”}) 删除当前name为laoli的数据

集合

db.集合名.drop()

db.runCommand({“drop”:“集合名”}) 删除集合

数据库

db.runCommand({“dropDatabase”:1}) 输出当前数据库

修改数据:

db.集合名.updata({“name”:“a”},{$set:{sex:“women”}},true,true)

查找名字是A的所有数据,将他的性别改为women,第三个参数表示匹配所有符合条件的数据,第四个参数表示修改所有匹配到的数据,true代表所有

查找数据:

db.集合名.find() 查找集合里所有的数据

db.集合名.findOne() 查找集合里所有的数据的第一条

db.集合名.find().pretty() 查找集合里所有的数据并格式化

高级条件查找:

db.集合名.find({“age”:{$gt:20}}) 查找年龄大于20的数据

db.集合名.find({“age”:{$gte:20}}) 查找年龄大于等于20的数据

db.集合名.find({“age”:{$lt:20}}) 查找年龄小于20的数据

db.集合名.find({“age”:{$gte:20}}) 查找年龄小于等于20的数据

db.集合名.find({“age”:{ g t : 20 , gt:20, gt:20,lt:30}}) 查找年龄大于20小于30的数据

db.集合名.find({},{_id:0,nm:1,star:1}) 查找所有的数据,不显示主键,显示nm和start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值