IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 重新学习 mongo4 -> 正文阅读

[大数据]重新学习 mongo4

写在前面

作为一款广为应用的 noSql 数据库。还是有必要重新熟悉一遍。

环境及语言

本教程使用环境

  1. node 版本 14.15.4
  2. mongo 版本 4.2.8
  3. mongodb npm版本 4.1.2

安装 mongo

npm install mongo

1. 连接数据库

const { MongoClient } = require('mongodb')
const client = new MongoClient('mongodb://127.0.0.1:27017')
async function connect(){
	await client.connect()
	console.log('连接成功')
	db = client.db('study_test') // 连接 study_test 数据库
	/* 
	 * 接下来的代码直接认为写在这里...
	 */
}

2. 增

db.collection('user').insertOne({name:'张三'})
db.collection('user').insertMany([{name:'李四'},{name:'王麻子'}])

insertMany 有个参数介绍一下
ordered: 如果是 true,则当执行失败时,不会写入数据库。如果是 false,则当某一条执行失败时,直接写入数据库。也就是说当有大量写入的时候,为了性能优化,可以设置为 false。

3. 删

db.collection('user').deleteOne({name:'张三'}) // 删除一条叫张三的
db.collection('user').deleteMany({age: 18}) // 删除所有年龄为 18 的

4. 改

update 和 replace 的区别是:
update可以替换部分字段。
replace会替换所有字段。

db.collection('user').updateOne({name:'张三'}, {gender:'男'}) // 给一条姓名为张三的,添加一个 gender:男 的属性。
db.collection('user').updateMany({name:'张三'}, {gender:'男'}) // 给所有姓名为张三的,添加一个 gender:男 的属性。

update 有个参数介绍一下
upsert: 如果为true,当要更新的文档不存在时,会新增一条。为 false,则不会。

5. 查询

db.collection('user').findOne({name:'张三'}) // 查询一条 姓名为张三的
db.collection('user').find({}).toArray() // 查询所有的用户
db.collection('user').find({}, {returnKey:true}).toArray() // 查询所有的用户的_id
db.collection('user').find({}).count() // 查询用户数
query参数类型解释
$eqany是否相等
$gtnumber大于
$gtenumber大于等于
$lt $ltenumber小于/等于
$inarray是否包含
$neany是否不相等
$ninarray不包含
$notany复杂查询不包含
$existsbool是否包含此字段
$typeBSONType此字段为指定的类型
$regexRegExp匹配正则
$optionsi/m/x/s与 $regex 匹配使用
$geoIntersectsany地理坐标相关,还有 $geoWithin、 $near、 $nearSphere 、 $maxDistance
$allarray与 $in 类似,不过需要包含所有内容
$elemMatchany匹配包含至少一个元素匹配所有指定查询条件的数组字段的文档。
$sizenumber匹配长度相同的数组字段的文档
option参数类型解释
limitnumber限定返回结果的数量
sortobject排序,传入一个对象,键为字段名,值为1/-1/‘asc’/‘desc’
projectionobject限定返回结果的字段,键为字段名,值为 1/0
skipnumber要跳过的文档数量
returnKeybool如果为 true ,则只会返回 _id
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-04 12:55:11  更:2021-10-04 12:57:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:04:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码