MongoDB安装以及学习内容

本文档详细介绍了MongoDB的安装过程,包括Windows和Mac平台的安装步骤,并讲解了MongoDB的启动、连接和数据库操作,如创建、删除数据库,插入、更新和删除文档,以及查询操作。此外,还涵盖了MongoDB的权限管理和索引创建,帮助读者深入理解MongoDB的基本操作和管理。
摘要由CSDN通过智能技术生成

1. 什么是MongoDB

    • MongoDB是一个基于分布式文件存储的开源数据库系统

    • MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

2. MongoDB安装

2.1 windows安装

Windows官方安装指南

2.2 mac安装

Mac官方安装指南

  1. 先安装homebrewhttp://brew.sh/

  2. 使用brew安装mongodbbrew install mongodb

  3. 再安装可视化工具 Robomongo

3. mongodb启动与连接

3.1 windows启动服务器端

  1. 找到mongodb安装目录,一般是 C:\Program Files\MongoDB 2.6 Standard\bin

  2. 按下Shift+鼠标右键,选择在此处打开命令窗口

  3. 在除C盘外的盘符新建一个空目录,如 D:\Mongodb\data

  4. 在命令行中输入mongod --dbpath=刚创建的空目录,如mongod --dbpath=D:\Mongodb\data

  5. 再按回车键

  • 如果出现waiting for connections on port 27017就表示启动成功,已经在27017端口上监听了客户端的请求

  • 注意:--dbpath后的值表示数据库文件的存储路径,而且后面的路径必须事先创建好,必须已经存在,否则服务开启失败

  • 注意:这个命令窗体绝对不能关,关闭这个窗口就相当于停止了mongodb服务

4. 添加到window服务

  • 以管理员身份运行命令

  • logfile是一个不存在的文件名,而非目录名

mongod.exe --logpath C:\program1\MongoDB\bin\log\logfile --logappend --dbpath C:\program1\MongoDB\bin\data --serviceName MongoDB --install

4. MongoDB基本概念

  • 数据库 MongoDB的单个实例可以容纳多个独立的数据库,比如一个学生管理系统就可以对应一个数据库实例

  • 集合 数据库是由集合组成的,一个集合用来表示一个实体,如学生集合

  • 文档 集合是由文档组成的,一个文档表示一条记录,比如一位同学张三就是一个文档

5. 数据库操作

5.1 使用数据库

语法

use database_name

  • database_name 代表数据库的名字

  • 注:如果此数据库存在,则切换到此数据库下,如果此数据库还不存在也可以切过来,但是并不能立刻创建数据库

切换到 school数据库下

use school

5.2 查看所有数据库

语法

show dbs

  • 备注: 我们刚创建的数据库school如果不在列表内, 要显示它,我们需要向school数据库插入一些数据

db.students.insert({name:'zfpx',age:1});

5.3 查看当前使用的数据库

语法

db

  • 注:db代表的是当前数据库 也就是school这个数据库

5.4 删除数据库

语法

db.dropDatabase()

6. 集合操作

6.1 查看集合帮助

语法

db.students.help();

6.2 查看数据库下的集合

show collections

6.3 创建集合

6.3.1 创建一个空集合

db.createCollection(collection_Name)

  • collection_Name集合的名称

6.3.2 创建集合并插入一个文档

  • collection_Name集合的名称

  • document要插入的文档

db.collection_Name.insert(document)

7. 插入文档

7.1 insert

db.collection_name.insert(document);
`

  • collection_name 集合的名字

  • document 插入的文档

每当插入一条新文档的时候mongodb会自动为此文档生成一个_id属性,id一定是唯一的,用来唯一标识一个文档 _id也可以直接指定,但如果数据库中此集合下已经有此id的话插入会失败

db.students.insert({_id:1,name:'zfpx',age:1});
WriteResult({ "nInserted" : 1 })
db.students.insert({_id:1,name:'zfpx',age:1});

7.2 save

db.collection_name.save(document)

  • collection_name 集合的名字

  • document 插入的文档

注:如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。

> db.students.save({_id:1,name:'zfpx',age:1});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })
> db.students.save({_id:1,name:'zfpx',age:100});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

8. 更新文档

8.1 语法

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

8.2 参数

  • query 查询条件,指定要更新符合哪些条件的文档

  • update 更新后的对象或指定一些更新的操作符

    • $set直接指定更新后的值

    • $inc在原基础上累加

  • upsert 可选,这个参数的意思是,如果不存在符合条件的记录时是否插入updateObj. 默认是false,不插入。

  • multi 可选,mongodb 默认只更新找到的第一条记录,如果这个参数为true,就更新所有符合条件的记录。

8.3 upsert

将students集合中数据中name是zfpx2的值修改为zfpx22</

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值