mongodb细讲

栏目: 数据库 · 发布时间: 6年前

一、 关系型数据库(sql)

1.建表

mongodb细讲 mongodb细讲 mongodb细讲

二、非关系型数据库(nosql  98提出的概念)

1.不用建库建表数据直接存入就可

mongodb细讲

优缺点:

关系型:节约资源(学生姓名和课程名不重复出现),开发不方便(需先建库建表,外键等)

非关系型:浪费资源(学生姓名和课程名重复出现),开发方便(不需要建库建表,数据直接存)

开发常用关系型,爬虫常用非关系型

三、Ubuntu安装: sudo apt-get install mongodb

Centos安装:sudo yum install mongodb

四、 mongodb 基本操作:

1.启动:sudo service mongodb start

2.停止:sudo service mongodb stop

3.重启:sudo service mongodb restart

4.进入客户端:mongo

mongodb细讲

出现上图代表正确进入

5.退出客户端:exit、ctrl + c

6.默认端口:27017

7.默认配置文件位置:/etc/mongod.conf

8.默认日志位置:/var/log/mongodb/mongod.log

9.查看帮助命令:mongod -help  (或进入mongo直接 help)

10.关于database的基本命令:

a.查看所有的库:show database、  show databases、show dbs

b.使用一个库:use 库名

c.查看当前库名:db

d.切换数据库:use 库名

e.删除当前数据库:db.dropDatabase()

f.第一次向数据库中加入数据时,数据库自动创建。

11.关于集合的基本命令:

a.不用手动创建集合,向不存在的集合第一次加入数据时,集合会自动创建出来

mongodb细讲

如图集合会自动创建

b.手动创建集合:

db.createCollection('stu')

db.createCollection(name, options)

db.createCollection('stu', {capped:true, size:10})

参数capped:默认为false表示不设置上限,当值为true表示设置上限,参数size当capped为true时,需要指定此参数,表示上限大小,单位为字节,如果数据超过上限,会将之前的数据覆盖。

c.查看集合:show collections

d.删除集合:db.集合名.drop()

12.数据类型:

ObjectId:文档id

String 字符串,必须是有效的utf-8

Boolean   存储一个布尔值    true     false

Integer整数    32位或64位取决于服务器

Double   浮点型

Arrays    数组,列表,多个值存储到一个键

Object    一个值就是一个文档

Null        存储Null值

Timestamp       时间戳,表示从1970.1.1到现在的总秒数

Date       存储当前的日期或时间

ObjectId  是一个12字节的十六进制数,前四个字节是当前的时间戳,接下来三个字节是机器的id,接下来的两个字节是mongodb的服务进程id最后三个字节是简单增量值

13.数据插入:

db.集合名.insert(数据)

db   指的是本数据库

集合名   相当于 mysql 中的表   例:

mongodb细讲

14.保存:

db.集合名.save(数据)

如果_id不存在,则添加数据,如果_id存在,则修改数据

例:

mongodb细讲

15.简单查询:

db.集合名.find()例:

mongodb细讲

16.复杂查询:

比较运算符(等于(默认)、小于($lt)、小于等于($lte)、大于($gt)、大于等于($gte)、不等于($ne))

例:

mongodb细讲

逻辑运算符:

and:直接写多个条件

mongodb细讲

or:使用 $or,值为一个数组,数组中每个元素为json

mongodb细讲

组合使用

mongodb细讲

$in 范围之内

$nin 不在范围之内

mongodb细讲

17.排序:

db.集合名.find().sort({字段:1})   参数1位升序,-1位降序

升序   db.stu1.find().sort({math:1})

降序   db.stu1.find().sort({math:-1})

18.统计个数

方法count()用于统计结果集中文档条数

db.集合名.find().count()

db.集合名.count({条件})

mongodb细讲

19.消除重复

方法distinct()对数据进行去重

db.集合名.distinct('去重字段',{条件})

例:

mongodb细讲

20.更新

db.集合名.update(<qurey>, <update>, {multi:<boolean>})

参数query:查询条件

参数update:更新操作符

参数multi:可选,默认值false,表示只更新找到的第一条记录;值为true,表示把满足条件的条件全部更新

mongodb细讲

可见这样更新有问题,应该这样:

mongodb细讲

发现这样只会更新一条,若更新全部应:

mongodb细讲

21.删除

db.集合名.remove(<query>, {justOne:<boolean>})

参数query:可选,删除文档条件

参数justOne:可选,默认为false,表示删除多条;如果设置为true或1,则只删除一条

mongodb细讲

22.查询结果处理

查询结果格式化:

db.集合名.find(条件).pretty()

mongodb细讲

db.集合名.findOne(条件):只返回第一个结果

指定文档数量

方法limit()  用于读取指定数量的文档

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

方法skip()  用于跳过指定数量的文档

db.集合名.find().skip(number)

23.投影

在查询的返回结果中,只选择必要字段

db.集合名.find({}, {字段名1:1,字段名2:1})

参数为字段名,值1表示显示,值为0表示不显示

特殊:对于_id列默认是显示的,如果不显示需要明确设置为0

mongodb细讲


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web Design Index by Content 3 (Web Design Index)

Web Design Index by Content 3 (Web Design Index)

Pepin Press (EDT) / Pepin Press / 2007-11 / USD 29.99

Would you like an overview of the state of the art in web design in a specific field? WEB DESIGN INDEX BY CONTENT provides exactly that: every year, 500 new designs are selected and grouped in more th......一起来看看 《Web Design Index by Content 3 (Web Design Index)》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具