学习mongoDB

时间:2021-08-03
本文章向大家介绍学习mongoDB,主要包括学习mongoDB使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

学习mongoDB

本文学习内容来自b站的黑马程序员!链接如下:

黑马程序员java必备基础教程-MongoDB基础入门到高级进阶

MongoDB简介

MongoDB是一个开源、高性能、无模式的文档型数据库

SQL术语MongoDB术语解释说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引

业务应用场景

High performance:对数据库高并发读写需求;

Huge Storage:对海量数据的高效率存储和访问需求;

High Scalability&High Availability:对数据库的高扩展性和高可用性。

MongoDB可应对“三高”需求

具体的应用场景如:

1.社交场景:存储用户信息以及朋友圈信息,通过地理位置索引实现附近的人、地点等功能;

2.游戏场景:存储用户信息、装备、积分等直接以内嵌文档的形式存储,方便查询、高效率存储和访问;

3.物流场景:存储订单信息,订单状态运送过程中不断更新,以内嵌数组形式存储;

4.物联网场景:存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析;

5.视频直播:存储用户信息、点赞互动信息、评论留言等。

这些应用场景的共同特点有: 1.数据量大;2.读写频繁;3.价值较低,对事务性要求不高。

MongoDB的下载和安装

菜鸟教程|MongoDB 教程

上面的链接附带多个环境的下载地址和操作文档!

启动

mongod --dbpath=..\data\db 在bin目录中打开命令提示符操作

连接

mongo --host=localhost --port=27017

选择和创建数据库

use 数据库名称

查看数据库

show dbs

数据库删除

db.dropDatabase()

集合创建和删除

集合显式创建

db.createCollection(name) ps:name为集合名

集合删除

db.集合.drop

文档基本CRUD(collection为集合名)

db.collection.insert() 单个文档插入

db.collection.insertMany() 批量文档插入

db.collection.find() 查询

db.collection.findOne() 查询第一条数据

db.collection.update(query,update,options) 修改

db.collection.remove({query}) 删除

db.collection.remove({}) 删库跑路rm -rf /

1.覆盖修改

db.collection.update({query条件},{update内容})

2.局部修改

db.collection.update({query条件},{$set:{update内容}})

3.批量修改

db.collection.update({query条件},{$set:{update内容},{multi:true}})

4.列值增长的修改

db.collection.update({query条件},{$inc:{update内容}})

文档的分页查询

db.collection.count({query}) 统计记录数

db.collection.find().limit(num) 分页列表查询

db.collection.find().skip(num) 跳过num条数据查询

db.collection.find().skip(num).limit(num)

db.collection.find().sort({query:1/-1}}) 排序查询 1为升,-1为降

文档的更多查询

1.正则的复杂条件查询

db.collection.find({query:/关键字/}) 查询包含关键字

db.collection.find({query:/^关键字/}) 查询以关键字开头

2.比较查询

db.collection.find({“field”:{$gt:value}}) 大于:field > value

$gt大于、$lt小于、$gte大于等于、$lte小于等于、$ne不等于

3.包含查询

db.collection.find({query:{$in:["关键字","关键字2"]}}) 包含

db.collection.find({query:{$nin:["关键字"]}}) 不包含

4.连接查询

db.collection.find($and:[{},{}]) 并且

db.collection.find($or:[{},{}]) 或

 

原文地址:https://www.cnblogs.com/kenven/p/15096588.html