MongoDB 芒果数据库简介安装与基本操作(1)

  • NoSQL简介

SQL 就是 Structor Query Language结构化查询语言。
MySQL、Oracle、SQL Server都是SQL数据库。SQL缺点就是限制字段。SQL优点就是能够轻松执行复杂查找。涉及主从查找,SQL的主从查找非常强。
NoSQL(not only SQL), 非关系型数据库。 NoSQL中只有条目的概念,每个条目可以自由地设置字段。

  • MongoDB的安装

官网:MongoDB官网
社区服务器版msi下载
文档地址

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 文件安装目录如下
    在这里插入图片描述
  • 添加到系统path变量中去
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 安装成功界面
    在这里插入图片描述

  • 数据库的基本操作

    mongod 命令用来开机,建立一个目录,来存放数据数据库目录,比如c:/mongodb_data
    $ mongod --dbpath c:\mongodb_data

在这里插入图片描述

此时不能关闭这个PowerShell窗口,如果关闭,则关闭数据库的连接。

此时需要再开一个PowerShell窗口,用mongo命令来管理数据库

在这里插入图片描述

此时就能进入mongo的REPL环境(Read-Eval-Print-Loop,读一句,执行一句显示一句)
> use student 表示使用student数据库,没有这个数据库则会自动创建。
> show dbs 显示当前所有数据库列表
> show collections 显示当前数据库的所有集合列表
mongoDB用json存储数据
文档就是一条json语句
集合就是多条json语句(文档)的集合列表

在这里插入图片描述

  • 数据库基本操作
    • 插入操作
      • 单条数据插入 db.collection.insertOne() collection(集合) 相当于表 ,db表示当前数据库
		db.inventory.insertOne(
		  { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }
   	)

在这里插入图片描述
* 多条数据插入 db.collection.insertMany()

db.inventory.insertMany([
   { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },
   { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
   { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
])

在这里插入图片描述

  • 数据库的查询操作

    查询某个集合的所有条目 db.collection.find( {} ) 比如查询 db.inventory.find( {} ) ,相当于SELECT * FROM inventory
    在这里插入图片描述
    相关的条件查询 需要使用 键值对来匹配。{ <field1>: <value1>, ... } , 比如查询db.inventory.find( { item: "mat" } ) ,相当于SELECT * FROM inventory WHERE item= "mat"
    在这里插入图片描述

    如果遇到特殊的操作符,格式为{ <field1>: { <operator1>: <value1> }, ... } 比如查询 db.inventory.find( { status: { $in: [ "A", "D" ] } } ),相当于 SELECT * FROM inventory WHERE status in ("A", "D");
    遇到and 或者or的情况
    db.inventory.find( { status: "A", qty: { $lt: 30 } } ) 相当于 SELECT * FROM inventory WHERE status = "A" AND qty < 30
    db.inventory.find( { $or: [ { status: "A" }, { qty: { $lt: 30 } } ] } ) 相当于 SELECT * FROM inventory WHERE status = "A" OR qty < 30
    遇到 and 和or一起出现的情况
    db.inventory.find( { status: "A", $or: [ { qty: { $lt: 30 } }, { item: /^p/ } ] } )
    相当于SELECT * FROM inventory WHERE status = "A" AND ( qty < 30 OR item LIKE "p%")
    选择特定字段的查询操作
    db.inventory.find( { status: "A" }, { item: 1, status: 1 } ) 相当于 SELECT _id, item, status from inventory WHERE status = "A"

发布了49 篇原创文章 · 获赞 3 · 访问量 5130

猜你喜欢

转载自blog.csdn.net/weixin_43487066/article/details/89318160