最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

mongodb笔记

来源:动视网 责编:小OO 时间:2025-10-01 02:04:47
文档

mongodb笔记

一、mongodb的简介MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自由的文档型数据库。特点:应用场景:不适用场景:二、掌握几个概念1、文档。文档是mongoDB中数据的基本单元,类似关系数据库的行,多个键值对有序地放置在一起便是文档{name:’xiaogang’,age:12,email:’nihao@sohu.com’}{name:’xiowanzi
推荐度:
导读一、mongodb的简介MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自由的文档型数据库。特点:应用场景:不适用场景:二、掌握几个概念1、文档。文档是mongoDB中数据的基本单元,类似关系数据库的行,多个键值对有序地放置在一起便是文档{name:’xiaogang’,age:12,email:’nihao@sohu.com’}{name:’xiowanzi
一、mongodb的简介

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自由的文档型数据库。

特点:

 

应用场景:

 

不适用场景:

二、掌握几个概念

1、文档。

文档是mongoDB中数据的基本单元,类似关系数据库的行, 

多个键值对有序地放置在一起便是文档

{name:’xiaogang’,age:12,email:’nihao@sohu.com’}

{name:’xiowanzi’,age:11}

MongoDB 中以文档的方式存取记录,如一条记录格式如下: 

    { “username”:”Tom”, “age”:10 }

    { "username":"Tom" , "age" : "10" } 

     {“Username”:”Tom”,”age”:10} 

注意:

1.以上是两个不同的文档,MongoDB区分大小写的数据类型,第一个age字段是数字类型,第二个age是字符串类型。

2. 每一个文档尺寸不能超过16M 

2、集合,

多个文档组成一个集合,就类似于关系型数据库里面的表。

集合就是一组文档,集合类似于表 

无模式是指,在同一个集合中可以包含不同格式的文档,如:

{   "Name" : "Mongodb" ,  "Type" : "Nosql"  }

{   "UserName" : "Tom"  ,  "age"  :  20  ,  "Gender"  :  "male"  }

以上两个文档可以放在同一个集合中。

模式自由(schema-free):意思是集合里面没有行和列的概念, 

MongoDB中的集合不用创建、没有结构,所以可以放不同格式的文档。

3、数据库

多个集合可以组成数据库。一个mongoDB实例可以承载多个数据库,他们之间完全。 

Mongodb中的数据库和Mysql中的数据为概念类似,只是无需创建。

一个数据库中可以有多个集合。

一个集合中可以有多个文档。

三、体系结构

4、安装软件

1、下载解压后,把该软件拷贝到指定的一个目录。一般便于管理,和其他的环境文件拷贝到同一级目录下面。

重点是bin目录里面一些命令

2、在拷贝的mongodb的目录中,新建一个目录(存储数据文件),和一个文件(日志文件)

3、以管理员的方式进入cmd,进入到mongodb的bin目录里面。

  

安装方式一:安装成window的一个服务。

Mongod.exe --install --dbpath 数据目录 --logpath 日志文件 

  

默认端口是:27017则证明启动成功。

安装方式二:直接启动,无需安装。

4、客户端连接mongodb服务器。

使用mongo命令来连接服务器。

默认连接本机的27017,如果要连接其他服务器,可以执行:

语法: 

    mongo.exe  ip地址:端口号/数据库名  (默认连接test数据库)

    如:

mongo.exe localhost:27017/abc -->连接本地27017端口,abc数据库 

    注:可以通过 mongo.exe –help 查看更多命令 

 

五、入门语句

1、创建数据库,

语法:  use  数据库名称

如果数据库存在,则是切换,如果不存在则是创建。如果创建了数据库,则没有任何操作,则会自动删除。

2、show dbs  查看数据库。

3、db命令表示当前数据库,直接输入 db则返回所在数据库的名字。

4、建立集合

db.集合名.insert({name:’xiao’})

5、show tables 查看当前数据库下面的集合

6、帮助命令

在数据库级别查看帮助命令

db.help()

在集合级别下面查看帮助命令

在全局下面查看帮助命令

六、mongodb的增删改查操作

1、添加数据(insert/save)

语法:db.集合名.insert({键1:值1,键2:值2 ………….})

比如:向user集合里面添加文档。

可以使用js的循环一次性添加多个文档。

注: _id 字段是系统自动生成的,也可以自己指定任何类型的字,但值不能重复。

ObjectId类型: 

对象id是文档中唯一的12位的ID

时间戳 |机器码|PID|计数器

mongodb支持的数据类型:

2、修改文档

db.集合名.update({条件},{新值})

案例1:比如把年龄等于5的文档,名字改成xiaotou

db.user.update({age:5},{新的文档})  相当于是文档的替换

案例2:比如把年龄等于6的文档,名字改为libai,其他的键值还必须存在。

使用修改器:$set  修改某个键值

db.集合名.update({条件},{$set:{name:’libai’}})

3、删除

删除文档

语法:db.集合.remove({条件})

案例1:比如删除年龄等于10的文档

案例2比如删除年龄大于等于7的文档

大于使用,操作法来完成

常用操作符:

$lt , $lte , $gt , $gte ( < , <= , > , >= ), $ne ( <> ) ,$in , $nin , $or , $not,

$mod (取模),  $exists, $where 

语法:

db.集合名.remove({age:{‘$gte’:7}})

删除集合

db.集合名.drop()

删除数据库

db.dropDatabase()

4、查询文档

语法:db.集合名.find({条件})

案例1:比如查询年龄等于4的文档

db.user.find({age:4})

案例2:比如查询年龄大于4的文档,只显示出age键值,其他键值不显示

db.集合名.find({条件},{age:1})

为1则显示age键值

为0则显示除了age键值

案例3:根据年龄倒叙显示文档

db.集合名.find().sort({age:-1})  -1则为倒叙,1则为正序(默认)

案例4:想取出集合里面的前3个文档

db.集合名.find().limit(3)

案例4:想取出集合里面从3个文档到5个文档之间的文档。

db.集合名.find().skip(2).limit(3)

案例5,查看集合里面有多少个文档

db.集合名.find().count()           count(1)代表使用前面的条件进行删选

七、mongodb中权限验证

mongodb里面的用户名和密码是属于单个数据库的。

1、创建用户

分两步,(1)选择数据库(2)具体的创建用户

语法:

use 数据库的名称

db.addUser(‘用户名’,’密码’,是否只读)如果第三个参数为ture则只能查询不能修改,默认是false

注意:在给数据库创建普通用户名之前,一定要创建一个超级管理员。

案例1创建超级管理员:

案例2:给php数据库创建一个管理员

创建的用户信息存储在当前数据库system.users集合里面。

2、数据库用户验证,

要使用用户名验证,要开启数据库的权限验证。

如何开启:

在开始启动mongdb时,执行,

mongod.exe   --dbpath  数据库文件  --logpath 日志文件路径  --auth

如果是以window服务安装的,则要卸载服务重新安装,在安装命令后面添加 --auth

如何卸载mon godb的服务:

先停止服务,进入到cmd  bin目录里面,执行mongod  --remove即可

如果没有经过验证,则直接操作,会报如下 的提示

验证的语法:分两步:(1)选择数据库,(2)执行验证

use php

db.auth(用户名,密码)

3、超级管理员验证:

use admin

db.auth(‘超级管理员名称’,’ 密码’)

说明:每个数据库都对应一套用户名和密码,只要开启了授权登陆,都必须经过验证,假设一开始就进行了管理员的认证,那后面所有的操作都不需要进行验证

4、用户的管理。

删除用户,或重新设置密码

(1)删除用户:可以在system.users集合里面直接把该文档给删除。

db.system.users.find()

db.system.users.remove({“user”:”test”})   删除test 账号

修改:

(2)修改用户密码

use test

db.changeUserPassword(用户名,新密码)

八、php支持mongodb

1、安装扩展,准备扩展文件

安装扩展,要注意支持的php版本,vc几编译的,nts或ts的

2、把对应的扩展文件拷贝的php的扩展目录里面(ext目录)

3、打开php.ini文件加载扩展。

4、通过phpinfo()函数来进行测试

九、php操作mongodb

连接mongodb服务器,

//MongoDB有用户名密码并指定数据库blog 

//$conn = new Mongo("mongodb://${username}:${password}@localhost/blog"); 

//$m=new Mongo("mongodb://hanhao:123456@localhost:1111/php"); 

$m=new Mongo("mongodb://root:1234@localhost:1111/admin"); 

$db=$m->selectDb("php");

$data = $db->user->find(array('age'=>array('$gt'=>2))); 

print_r($data); 

foreach($data as $v){ 

echo 'name:'.$v['name'].'---'.$v['age'].'
';

选择数据库

$db=$m->selectDb(数据库的名称);

具体的操作

10、数据的备份、还原、导入、导出

1、导出

 

 

2、导入

 

  

3、备份

 

4、还原

http://cnodejs.org/topic/51d249dcd44cbfa3040bd28a  存储图片或者视频

文档

mongodb笔记

一、mongodb的简介MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自由的文档型数据库。特点:应用场景:不适用场景:二、掌握几个概念1、文档。文档是mongoDB中数据的基本单元,类似关系数据库的行,多个键值对有序地放置在一起便是文档{name:’xiaogang’,age:12,email:’nihao@sohu.com’}{name:’xiowanzi
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top