MangoDB

本文介绍了MongoDB,一种NoSQL数据库,详细阐述了它的特点、数据类型以及如何进行数据库创建、删除、集合操作、文档的插入、查询、更新和删除等基本操作。
摘要由CSDN通过智能技术生成

一、MongoDB简介

1、什么是 NoSQL?

NoSQL,指的是非关系型的数据库。NoSQL 有时也称作 Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL 用于超大规模数据的存储。(例如谷歌、Facebook 每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

2、什么是MongoDB

  • MongoDB是NoSQL的典型代表,用于web的大容量的数据存储。
  • MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
  • MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。
  • MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组

3、常用术语

SQL术语 MongDB术语/概念 解释/说明
database database 数据库
table collection(集合) 数据库表/集合
row document(文档) 数据记录行/文档
column field(字段) 数据字段/域
index index 索引
table join / 表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设为主键

4、MongoDB数据类型

数据类型 描述
String 字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的 。
Integer 整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。
Double 双精度浮点值。用于存储浮点值。
Boolean 布尔值。用于存储布尔值(真/假)。
Object ID 对象 ID。用于创建文档的ID
Array 用于将数组或列表或多个值存储为一个键。
Object 用于内嵌文档。
Null 用于创建空值。
Symbol 符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言
Binary Data 二进制数据。用于存储二进制数据
Timestamp 时间戳。记录文档修改或添加的具体时间。
Code 代码类型。用于在文档中存储 JavaScript 代码。
Regular expression 正则表达式类型。用于存储正则表达式
Min/Max keys 将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比
Date 日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息

二、MongoDB的基本操作

1、db:是MongoDB的默认数据库。

用户可以创建多个数据库。

2、创建数据库

use DATABASE_NAME

3、删除数据库

db.dropDatabase()
db : 查看当前的数据库名

删除当前数据库,默认为 test,可以使用 db命令查看当前数据库名。

4、创建集合(表)

db.createCollection(name, options)

在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。

5、删除集合(表)

db.集合名.drop()

6、插入文档

db.COLLECTION_NAME.insert(document)

insert(): 若插入的数据主键已经存在,则会抛org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。

7、查询文档

7.1、查询操作符

查询操作符 说明
$lt 小于
$gt 大于
$or
$in 表示某个集合中
$size 用来统计记录数
$all 表示所有

7.2、常用函数

函数 说明
sort({字段:1/-1}) 1表示升序,-1表示降序
distinct(字段) 表示某个字段的覆盖范围
limit() 分页查询

演示:
首先创建名为classes的集合:

db.createCollection("classes");

db.getCollection("classes").insert([ {
    _id: ObjectId("60fa23b7f0ca97d65028f909"),
    name: "乔峰",
    age: NumberInt("28"),
    sex: "男",
    hobby: [
        "足球",
        "武术",
        "乒乓球"
    ]
} ]);
db.getCollection("classes").insert(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值