MongoDB入门及应用场景

MongoDB入门及应用场景

 1. MongoDB介绍

MongoDB是一个基于分布式文件存储 [1]  的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似jsonbson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引

MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是 像关系型数据库(MySQL)的非关系型数据库。 它支持的数据结构非常松散,是一种类似于 JSON 的 格式叫BSON,所以它既可以存储比较复杂的数据类型,又相当的灵活。

MongoDB中的记录是一个文档,它是一个由字段和值对(field:value)组成的数据结构。MongoDB文档类似于JSON对象,即一个文档认 为就是一个对象。字段的数据类型是字符型,它的值除了使用基本的一些类型外,还可以包括其他文档、普通数组和文档数组。

2.应用场景

应对“三高”:高并发、高可用

二、MongoDB安装与部署

1. Windows下安装MongoDB

(1)下载安装包

       下载地址:https://www.mongodb.com/download-center/community

 

 

(2)解压MongoDB压缩包

(3)在MongoDB目录下新建mongodb.conf文件,配置如下

dbpath=F:sowfer\mongodb\data    #数据存放目录

logpath=F:sowfer\mongodb\log\mongo.log  #日志存放目录

logappend=true   #开启日志追加

port=27017      #设置端口号

bind_ip=0.0.0.0    #运行任何ip地址访问,去掉的话就是只有本机可以访问

 

4)启动MongoDB

mongod -f F:sowfer\ mongodb\ mongodb.conf

5)打开浏览器,输入:localhost:27017,显示如下效果

MongoDB 基本操作

1. MongoDB 概念解析

(1)文档、集合、数据库

对比:

 

 数据库(database)– 数据库是一个仓库,在仓库中可以存放集合。

• 集合(collection) – 集合类似于数组,在集合中可以存放文档。

• 文档(document) – 文档数据库中的最小单位,我们存储和操作的 内容都是文档。

• 文档(document) – 类似于JS中的对象,在MongoDB中每一条数据都是一个文档

• 集合(collection) – 集合就是一组文档,也就是集合是用来存放文档的 – 集合中存储的文档可以是各种各样的,没有格式要求

多个文档组成集合,多个集合组成数据库

1.创建数据库

use xxx,

db 查看

show dbs 查看所以数据库

删除数据库

db.dropDatabase()

创建集合

db.createCollection(name, options)

删除集合

db.collection.drop()

查看集合

show collections

插入文档
db.COLLECTION_NAME.insert(document)

更新文档

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

  • query : update的查询条件,类似sql update查询内where后面的。
  • update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
  • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。
删除文档

MongoDB 是 2.6 版本以后的

db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)
  • query :(可选)删除的文档的条件。
  • justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
  • writeConcern :(可选)抛出异常的级别。

查询文档

db.collection.find(query, projection)

发布了49 篇原创文章 · 获赞 31 · 访问量 2865

猜你喜欢

转载自blog.csdn.net/cjy_lean/article/details/105645468