mongodb基本操作

什么是MongoDB ?

  • MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。
    • MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
    • MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

MongoDB特点

  • 模式自由 :可以把不同结构的文档存储在同一个数据库里
    • 面向集合的存储:适合存储 JSON风格文件的形式
    • 完整的索引支持:对任何属性可索引
    • 复制和高可用性:支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目的是提供冗余及自动故障转移
    • 自动分片:支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器
    • 丰富的查询:支持丰富的查询表达方式,查询指令使用JSON形式的标记,可轻易查询文档中的内嵌的对象及数组
    • 快速就地更新:查询优化器会分析查询表达式,并生成一个高效的查询计划
    • 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)

基本操作

  • MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成
  • MongoDB文档类似于JSON对象,字段值可以包含其他文档、数组、文档数组
  • 安装管理mongodb环境
  • 完成数据库、集合的管理
  • 数据的增加、修改、删除、查询

配置文件在/etc/mongod.conf
默认端口27017

启动mongodb 服务
sudo service mongod start停止,停止后输入将不能启动shell
sudo service mongod stop重置服务
sudo service mongod restop启动mongodb客户端
mongo
终端退出连接

exit 或 ctrl+c
卸载mongodb数据库
删除 MongoDB 包
sudo apt-get purge mongodb-org
删除 MongoDB 数据库和日志文件
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

数据库基本命令

  • 查看当前数据库名称

db

  • 列出所有在物理上存在的数据库

show dbs

  • 切换数据库 如果数据库不存在,则指向数据库,但不创建,直到插入数据或创建集合时数据库才被创建

use 数据库名称

  • 查看当前数据库信息

db.stats()

db:当前数据库的名字。
collections:当前数据库的集合数。
objects:当前数据库所有集合总所包含的对象(即文档)的数量。
avgObjSize:每个文档的平均大小(以字节为单位)。
dataSize:此数据库中保存的未压缩数据的总大小,不是
指占有磁盘大小,单位是bytes。
storageSize:分配给此数据库的集合用于存储文档的空
间总量,也就是当前数据库占有磁盘大小,单位是bytes。
numExtents:当前数据库所有集合包含的扩展数量的统计。
indexes:数据库中包含的所有集合的索引总数,也就是system.indexes表数据行数。
indexSize:此数据库上创建的所有索引的总大小,单位是bytes。
  • 数据库删除:删除当前指向的数据库,如果数据库不存在,则什么也不做

db.dropDatabase()

  • 创建集合
  • 语法

db.createCollection(name, options)

  • 查看当前数据库所有集合

show collections:当前数据库的集合数。

  • 删除集合
  • 语法格式:

db.集合名称.drop()
如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false

数据的增删改查

  • 语法

db.集合名称.insert(document)
注意:插入文档时,如果不指定_id参数,MongoDB会为文档分配一个唯一的ObjectId

  • 删除文档语法:
remove() 方法的基本语法格式如下所示:

db.collection.remove(
<query>,
{justOne: <boolean>,}
)
  • 基本的数据查询
  • 基本查询
db.集合名称.find({条件文档})
    * 
findOne():查询,只返回第一个


db.集合名称.findOne({条件文档})
例1:查询出姓名等于李某某的学生
db.stu.find({name:'李某某'})
  • 更新文档MongoDB 使用 update() 和 save() 方法来更新集合中的文档。两个函数是有区别的。update() 方法
  • update() 方法用于更新已存在的文档
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
}
)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mongodb介绍 1.什么是mongodb? mongodb 是由c++语言编写的,是一个基于分布式文件存储的开...
    咻咻咻滴赵大妞阅读 288评论 0 0
  • -z#启动等命令"""sudo service mongod|mongodb startsudo service ...
    木头的男人阅读 577评论 0 1
  • 1、创建数据库 如果要创建一个名称为<newdb>的数据库,那么使用 use DATABASE 语句将如下所示: ...
    莫夏_b560阅读 906评论 0 0
  • 一、MongoDB简介 1.概述 ​ MongoDB是一个基于分布式文件存储的数据库,由C++语言编写。旨在为WE...
    郑元吉阅读 981评论 0 2
  • 基本操作: 帮助 不同级别和命令 常用操作查看当前db版本 显示当前数据库 查询所有数据库 切换数据库 显示当前数...
    山口肅彧阅读 650评论 0 0