MongoDB 入门

本文介绍了MongoDB的基础知识,包括其作为文档存储数据库的特点、安装过程、CURD操作以及常用的操作符。MongoDB支持内嵌文档,允许一对一、一对多和多对多的文档间关系。文章还提供了简单的增删改查示例,并推荐了用于学习更多高级功能的官方文档。
摘要由CSDN通过智能技术生成

NoSQL 数据库类型分为 列存储、文档存储、键值存储、图存储、对象存储、xml 数据库 6种类型。(来自w3cschool教程)
MongoDB 是由C++语言编写的开源数据库系统。其将数据存储为一个文档,是一个基于分布式文件存储的数据库。
MongoDB 区分大小写

安装

MongoDB 安装:3.2版本之后不支持32位windows操作系统,小版本为偶数的版本为稳定版。如3.4, 4.0。MongoDB 的安装步骤很简单,如果不修改安装目录,一直下一步即可。安装步骤略。。。
我这里安装的是当前最新稳定版4.0.9,安装完成后自带了 MongoDB Compass Community,打开 MongoDB Compass Community,可以直接在这个工具上进行文档(数据)的增删改查,感觉类似于 oracle 的 plsql 。
在这里插入图片描述在这里插入图片描述以上就是我知道的一些基本操作,我没有找到编写脚本文件的窗口,所以我后面将使用如下 NoSQL Manager for MongoDB 工具,通过编写脚本可以更清楚地学习 MongoDB 的语法。
在这里插入图片描述
MongoDB 中可以存放多个数据库,一个数据库可以存放多个集合,一个集合可以存放多个文档,文档是 MongoDB 中的最小操作单元
集合类似 sql 数据库(oracle)中的表,文档类似一条记录,或者说一行
数据库和集合不用我们特意创建,插入数据时将自动创建
在这里插入图片描述

基本指令

/**
基本指令
*/
show dbs;  //显示有哪些数据库
use local;  //使用指定的数据库
db;  //显示当前使用的数据库
show collections;  //显示当前数据库的所有集合

CURD

—添加—
db.<集合名>.insert() 参数可以是一个文档对象,也可以是一个文档对象数组
文档对象其实就是一个 json 对象
添加的每一个文档对象都会有一个 _id 属性,值也会默认生成。如果自己指定,则用自己指定的值。
例:执行 db.students.insert() 时,students 集合如果不存在会自动创建。

在 MongoDB3.2版本之后加入的 insertOne(),insertMany() 方法,功能同方法名。insertOne() 只能传入单个文档对象,insertMany()只能传入对象数组。

//插入一条数据时,传入一个文档对象
db.students.insert({
   sname:"张三",sage:21});
db.students.insertOne({
   _id:"1234567",sname:"tom",sgender:"male"});
//插入多条数据时,传入一个对象数组
db.students.insert([
    {
   sname:"李四",sage:25},
    {
   sname:"王五",sage:30}
]);
db.students.insertMany([
    {
   sname:"lily",sage:16,sgender:"female"},
    {
   sname:"rose",sage:18,sgender:"female"}
]);
db.students.find();

执行结果如下:

在这里插入图片描述属性值可以是文档对象,称内嵌文档。示例如下:
在这里插入图片描述
—查询—
db.<集合名>.find() 不传参或传空对象都表示查找该集合中全部文档对象,返回的是一个对象数组,可以下标取值。如:db.<>.find()[0]
进行条件查询时,需要传入文档对象。
pretty() 可以格式化查询结果,是结果展示更美观,只支持展示结果为 json 格式的
db.<>.findOne() 只查询符合条件的第一个对象,可以直接取属性值。如:db.<>.find().sname

查询内嵌文档的属性时,支持用点号(.)进行查询

db.<>.find().count()db.<>.length() 查询所有结果的个数

只想查询部分指定属性,需传入第二个参数,要显示的给1,不显示的给0,不指定的默认不显示,_id 默认都显示,可用0不显示

//查询全部
db.students.find().pretty
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值