MongoDB基础介绍

MongonDB是基于分布式文件存储的数据库,当传统的关系型数据库Mysql已经不满足当下一些对数据库的需求时,这时MongonDB便可派出用场了。

目录

一、作用 

二、使用场景

三、特点

四、常用命令(除查询方法外)


一、作用 

MangoDB最大特点便是他的查询功能,其查询语法类似于面向对象的查询语言,可以实现大多数类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

  • 模式自由
  • 支持动态查询
  • 面向集合存储,方面存储对象型数据
  • 可以复制和故障的恢复
  • 支持包含内部对象在内的完全索引
  • 文件存储格式为BSON
  • 自动处理数据碎片
  • 使用高效的二进制数据存储(包括大型对象,如影像)
  • 可以支持java、c、c++、c#、javascript、python、php、ruby、perl的驱动程序。

二、使用场景

1、数据量大;2、数据价值低且能接受少量数据丢失和不同步;3、写入操作频繁;4、查询次数高或者查询次数很低。

当对数据的高写入的负载需求时可以用到MangoDB;当要高效率存储和读取处理海量的数据时可使用MangoDB;当需要对数据库拥有高扩展性能时,可以使用MangoDB。

三、特点

     ·  高性能
        MongoDB提供高性能的数据持久性,对嵌入式数据模型的支持减少了数据库系统上的IO活动。
       支持索引查询,使查询的速度更加提高

    ·  高可用
      MongoDB的复制工具称为副本集,它可以提供自动故障转移和数据冗余

    ·  高扩展
       MongoDB提供了水平可扩展性作为核心功能的一部分。
       分片将数据分布在一组集群的机器上。

   ·  丰富的查询支持
      MongoDB支持丰富的查询语言,如数据聚合、文本搜索、地理空间查询等。

四、常用命令(除查询方法外)

选择数据库(如果此数据库名没创建过,会自动创建)

use 数据库名

查看所有数据库 

show dbs

 or

show databases

查看当前使用数据库 

db

 删除数据库

db.dropDatabase()

 创建集合

db.createCollection("集合名称")

 查看当前数据库中的集合

show tables

      or

show collections

删除集合

db.集合名称.drop()

数据插入

db.数据库名.insertOne({属性名1: 数据1, 属性名2: 数据2, hiredate:new Date()})

批量插入(批量插入时如一遇到一条数据出现问题则停止插入,不过其之前的数据都能成功插入)

db.数据库名.insertMany([
{属性名1: 数据1, 属性名2: 数据2, hiredate:new Date()},
{属性名1: 数据3, 属性名2: 数据4, hiredate:new Date()}])

更新文档

db.集合名.update(
	{BSON格式查询条件},
	{BSON格式要更新的内容},
	{
		upsert: 布尔类型,(指定如果不存在update的记录,是否插入。默认false)
		multi: 默认false,只更新找到的第一条记录。(如果为true,则更新查询条件下的所有记录)
	}
)

修改数据(可使用修改器 $set 来实现局部修改)

db.数据库名.update(
	{name: "Sam"},
	{$set: {name: "lily"}}
)

批量修改(使用{multi: true})

db.数据库名.update(
	{price: NumberInt(100)},
	{$set: {price: NumberInt(50)}},
	{multi: true}
)
//将所有属性price的值为100的改为50

删除文档(使用deleteOne() 或 deleteMany())

db.数据库名.deleteOne({_id:ObjectId('sjg3bj43hv5h34h')})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值