前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >mongo 笔记

mongo 笔记

作者头像
句小芒
发布于 2022-12-29 10:14:57
发布于 2022-12-29 10:14:57
1.2K00
代码可运行
举报
运行总次数:0
代码可运行
为什么要存在mongo

在以往的关系型数据库(如Mysql),使用表和列来对数据进行存储,进行数据查询操作。但是这样有一个弊端就是 1. 多表查询会比较复杂。 2.对数据类型要求严格,如果需要加字段会稍微麻烦一些。

mongo 是以数组或者对象来对数据进行存储,并且还可以嵌套。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 进入mongo
$ mongo
# 显示所有数据库
> show dbs
# 创建数据库 使用use 命令,
> use gmtest
switched to db gmtest
# 查看当前db
> db
gmtest
# 查看所有db,发现我们创建的并不显示,需要插入数据才可以
> db.gmtest.insert({"name":"菜鸟果果"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin     0.000GB
config    0.000GB
gmtest    0.000GB   #这条是我们刚新建的数据库
local     0.000GB

增删改查

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
## 增加数据
> db.gmtest.insert({"name":"菜鸟果果2"})
WriteResult({ "nInserted" : 1 })
### 增加一条数据 insertOne
> db.gmtest.insertOne({"name":"菜鸟果果3"})
{
	"acknowledged" : true,
	"insertedId" : ObjectId("6170fcb3ced87b0c142a3ba2")
}
### 同时插入多条数据
> db.gmtest.insertMany([{"name":"菜鸟果果4"},{"name":"菜鸟果果5","age":67}])
{
	"acknowledged" : true,
	"insertedIds" : [
		ObjectId("6170fcd8ced87b0c142a3ba3"),
		ObjectId("6170fcd8ced87b0c142a3ba4")
	]
}

## 查询数据
### 查询所有数据
> db.gmtest.find()
{ "_id" : ObjectId("6170e7d1ced87b0c142a3b9f"), "name" : "菜鸟果果" }
{ "_id" : ObjectId("6170e840ced87b0c142a3ba0"), "name" : "菜鸟果果2" }
{ "_id" : ObjectId("6170e8c8ced87b0c142a3ba1"), "name" : "菜鸟果果2" }
{ "_id" : ObjectId("6170fcb3ced87b0c142a3ba2"), "name" : "菜鸟果果3" }
{ "_id" : ObjectId("6170fcd8ced87b0c142a3ba3"), "name" : "菜鸟果果4" }
{ "_id" : ObjectId("6170fcd8ced87b0c142a3ba4"), "name" : "菜鸟果果5", "age" : 67 }
### 查询单条数据
> db.gmtest.findOne({"name":"菜鸟果果"})
{ "_id" : ObjectId("6170e7d1ced87b0c142a3b9f"), "name" : "菜鸟果果" }
### 多个where 进行查询  pretty: 返回数据更加美观,没啥大用
> db.gmtest.find({"name":"菜鸟果果5","age":67}).pretty()
{
	"_id" : ObjectId("6170fcd8ced87b0c142a3ba4"),
	"name" : "菜鸟果果5",
	"age" : 67
}
### 字段存在查询
> db.gmtest.find({"score":{$exists:true}})
### 关于算术运算符(参考下图),查询age 小于80
> db.gmtest.find({"age":{$gt:80}})
{
	"_id" : ObjectId("6170fcd8ced87b0c142a3ba4"),
	"name" : "菜鸟果果5",
	"age" : 67
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
### 更新数据  multi:   true(更新所有数据), false(更新一条数据), 默认是false
> db.gmtest.update({'name':'菜鸟果果5'},{$set:{'age':96}},{multi:true})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
#### 只更新一条数据
> db.gmtest.update({'name':'菜鸟果果2'},{$set:{'score':96}},{multi:false})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.gmtest.find()
{ "_id" : ObjectId("6170e7d1ced87b0c142a3b9f"), "name" : "菜鸟果果" }
{ "_id" : ObjectId("6170e840ced87b0c142a3ba0"), "name" : "菜鸟果果2", "score" : 96 }
{ "_id" : ObjectId("6170e8c8ced87b0c142a3ba1"), "name" : "菜鸟果果2" }
{ "_id" : ObjectId("6170fcb3ced87b0c142a3ba2"), "name" : "菜鸟果果3" }
{ "_id" : ObjectId("6170fcd8ced87b0c142a3ba3"), "name" : "菜鸟果果4" }

### 删除文档
> db.gmtest.deleteMany({'score':{$lt:100}})
{ "acknowledged" : true, "deletedCount" : 1 }

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2xsv85l2ljoko

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
mongodb入门教程之命令汇总
--dbpath指的是存储数据库文件的文件夹。一旦执行以上命令就不要关了。一旦出现问题,数据库就会自动关闭了。如果需要人为退出可以ctrl+c
用户1272076
2019/03/26
7061
004.MongoDB数据库基础使用
提示:新创建的数据库,若需要显示需要向该数据库中创建集合,同时集合只有在内容插入后才会创建,即创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。
木二
2019/07/01
1.4K0
mongodb客户端操作语法笔记
##登录连接: 进入客户端方法 D:\Program Files\MongoDB\Server\5.0\bin>mongo.exe
oktokeep
2024/10/09
680
mongodb客户端操作语法笔记
MongoDB入门(二)
可以看到,我们刚创建的数据库 hyy并不在数据库的列表中, 要显示它,我们需要向 hyy数据库插入一些数据。
传说之下的花儿
2023/11/23
2720
MongoDB入门(二)
MongoDB(2)——基本操作
修改数据 object id每个文档都有一个属性,为_id,保证每个文档的唯一性,可以自己去设置_id插入文档 如果没有提供,那么MongoDB为每个文档提供了一个独特的_id,类型为objectID,objectID是一个12字节的十六进制数,前4个字节为当前时间戳,接下来3个字节的机器ID,接下来的2个字节中MongoDB的服务进程id,最后3个字节是简单的增量值。
羊羽shine
2019/05/30
3660
MongoDB :第七章:总结一下学习MongoDB的心得
> use runoob switched to db runoob > db runoob > 
Java廖志伟
2022/09/28
5360
MongoDB急速入门
前面我们已经介绍过缓存k-v数据库Redis,华为的OpenGauss关系型数据库,今天我们继续介绍一款NoSQL数据库MongoDB。
Python研究所
2022/09/01
6120
MongoDB后台shell语句(一)
1.连接数据库 ./mongo 2.创建数据库 (如果数据库不存在,则创建数据库,否则切换到指定数据库。)
六月的雨在Tencent
2024/03/28
1640
MongoDB 集合与文档的相关操作
$pop修饰符删除数组中的第一个或者最后一个元素,给$pop传递-1会删除第一个元素传递1会删除最后一个元素
Power
2025/03/02
630
通过Shell操作MongoDB
使用MongoDB可以非常方便的配置数据复制,通过冗余数据来实现数据的高可用以及灾难恢复,也可以通过数据分片来应对数据量迅速增长的需求。关于MongoDB更多的操作可以查阅官方文档 ,同时推荐大家阅读Kristina Chodorow写的《MongoDB权威指南》。
用户8442333
2021/05/21
4530
mongoDB 基础教程笔记
从mongoDB官网 下载 MongoDB 的最新版本,直接一路next,如果想自定义安装Choose Setup Type处选择Custon
用户2458785
2018/08/29
5040
mongoDB 基础教程笔记
mongodb
NoSQL不使用SQL作为查询语言。其数据的储存可以不需要固定的表格形式。也会经常的被使用sql的join
mySoul
2018/07/31
3.4K0
Mac环境下安装MongoDB数据库
解压缩下载的压缩包重命名为mongodb,将mongodb文件夹复制到/usr/local目录下。
xiangzhihong
2023/03/01
8080
Mac环境下安装MongoDB数据库
Linux下的Mongodb部署应用梳理
一、Mongodb简介  官网地址:http://www.mongodb.org/ MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能 最丰富,最像关系数据库的。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。它是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应 用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系型数据
洗尽了浮华
2018/01/22
5.1K0
Linux下的Mongodb部署应用梳理
【Python全栈100天学习笔记】Day40 MongoDB安装配置及应用
MongoDB是2009年问世的一个面向文档的数据库管理系统,由C++语言编写,旨在为Web应用提供可扩展的高性能数据存储解决方案。虽然在划分类别的时候后,MongoDB被认为是NoSQL的产品,但是它更像一个介于关系数据库和非关系数据库之间的产品,在非关系数据库中它功能最丰富,最像关系数据库。
天道Vax的时间宝藏
2022/04/02
4350
mongodb-基础-update-remove
1.一些操作 collection重命名: > db.post.renameCollection('foo') { "ok" : 1 } > show collections foo 2.update 语法格式: db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> })  参数说明: query : update
Ryan-Miao
2018/03/13
1.2K0
一口(很长的)气掌握mongodb基本操作nosql介绍安装mongodb库操作集合操作文档操作数据类型查询进阶聚合索引用户权限管理
nosql,全称是 not only sql, 即“不仅于sql”,相较于关系型数据库,nosql更加灵活,无需去维护复杂的数据关系。数据是json格式,更加直观易读。
章鱼喵
2018/09/26
3K0
一口(很长的)气掌握mongodb基本操作nosql介绍安装mongodb库操作集合操作文档操作数据类型查询进阶聚合索引用户权限管理
Docker下,极速体验mongodb
程序员欣宸
2018/01/04
1.1K0
Docker下,极速体验mongodb
超实用!手把手入门 MongoDB:这些坑点请一定远离
1.创建数据库语法 如果数据库不存在,则指向数据库,但不创建(等待实际数据入库时创建),否则切换到指定数据库。
程序员小助手
2022/12/20
5.8K0
超实用!手把手入门 MongoDB:这些坑点请一定远离
MongoDb 快速入门教程
MongoDb 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 它是可扩展的高性能数据存储解决方案,经常被用于非关系型数据的存储,能存储海量的数据。 常
陈树义
2018/04/13
1.9K0
MongoDb 快速入门教程
相关推荐
mongodb入门教程之命令汇总
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文