MongoDB
- MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统
- 下载:www.mongodb.com/
- 配置环境变量
- 计算机=>属性=>高级系统设置=>环境变量=>path环境变量
- 复制mongoDB中bin目录地址添加到环境变量中E:\Program Files\MongoDB\Server\4.2\bin
- 打开CMD输入mongo --version出现版本号安装成功
与SQL区别
| SQL | MongoDB | 含义 |
|---|---|---|
| database | database | 数据库 |
| table | collection | 数据库表/集合 |
| row | document | 数据记录行/文档 |
| column | field | 数据字段/域 |
| index | index | 索引 |
| table joins | 表连接,MongoDB不支持 | |
| primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
注:mongoDB会自己设置主键,主键可以很块生成和排序,为包含 12 bytes
MongoDB基本指令
| 指令 | 含义 |
|---|---|
| mongo | 进入mongo数据库 |
| help | 帮助可查看常用指令 |
| use user-DB | 进入user-DB数据库,如果没有则创建再进入 |
| show dbs | 展示当前所有数据库 |
| db.dropDatabase() | 删除数据库 |
| db.collection.drop() | 删除集合 |
| db.createCollection(name,[options]) | 创建集合,name集合名称,options内存大小和索引 |
| show collections | 查看已有集合 |
| show tables | 查看已有集合 |
| db.collection.drop() | 删除集合 |
| show collection | 查看当前所有集合 |
| db.aggregate.insert() | 向集合aggregate中插入数据 |
| db.collection.insertOne(,{writeConcern}) | 向集合中插入一个新文档 |
| db.collection.insertMany() | 向集合中插入一个或多个文档 |
| db.col.find([query],[projection])[.pretty] | 查看已插入文档,.pretty格式化方式显示 |
| db.collection.update(query,updata,{[upsert],[multi],[writeConcern]}) | 用于更新已存在文档 |
| db.collection.remove([query],{[justOne],[writeConcern]}) | 删除文档 |
| db.collection.deleteOne({status:“A”}) | 删除status等于A的第一个文档 |
| db.collection.deleteMany({status:“A”}) | 删除status等于A的全部文档 |
示例:
>mongo --version
MongoDB shell version v4.2.7
git version: 51d9fe12b5d19720e72dcd7db0f2f17dd9a19212
allocator: tcmalloc
modules: none
build environment:
distmod: 2012plus
distarch: x86_64
target_arch: x86_64
> use runoob
switched to db runoob
> db.runoob.insert({"name":"jack"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
runoob 0.000GB
> db.dropDatabase()
{ "dropped" : "runoob", "ok" : 1 }
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
> db.createCollection("runoob")
{ "ok" : 1 }
> show collections
runoob
> db.name.drop()
true
> show collections
runoob
> db.runoob.insert({name:'jack',age:20})
WriteResult({ "nInserted" : 1 })
> db.runoob.find()
{ "\_id" : ObjectId("6273d67bda7cd095e2276193"), "name" : "jack", "age" : 20 }
> db.runoob.update({'name':'jack'},{$set:{'name':'rose','age':22}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.runoob.find()
{ "\_id" : ObjectId("6273d67bda7cd095e2276193"), "name" : "rose", "age" : 22 }
> db.runoob.find().pretty()
{
"\_id" : ObjectId("6273d67bda7cd095e2276193"),
"name" : "rose",
"age" : 22
}
MongoDB运算符
| 含义 | 指令 |
|---|---|
| 等于 | {key:value} |
| 小于 | {key:{$lt:value}} |
| 小于或等于 | {key:{$lte:value}} |
| 大于 | {key:{$gt:value}} |
| 大于或等于 | {key:{$gte:value}} |
| 不等于 | {key:{$ne:value}} |
| AND | {key:value1,key:vlaue2} |
| OR | {$or:[{key:value1},{key:value2}]} |
收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!