【学习笔记】mongoDB初步(一)MongoDB的安装和增删改查基本语法,使用和命令
MongoDB適合儲存大量關聯性不強的數據。
MongoDB中的數據以“庫”—“集合”—“文檔”—“字段”結構進行儲
存。這種結構咋看和傳統關系型數據庫的“庫”—“表”—“行”—“列”結構非常像。但是,MongoDB不需要預先定義表結構,數據的字段可以任意變動,并發寫入速度也遠遠超過傳統關系型數據庫。
1.安裝
官網下載4.0
bin目錄下:
cfg為配置文件
在c盤下新建data文件夾,其中再新建db:
輸入mongod.exe
圖形化界面的軟件:robo 3T
Robo 3T的下載地址為:https://robomongo.org/download
create database創建數據庫
插入單條數據的命令為“insertOne()”。
db.getCollection(‘learning’).insertOne({“name”: “張小二”, “age”: 17, “address”: “浙江”})
MongoDB還允許Key不帶引號,直接寫成{name: ’王小六’,
age: 25, work: ’廚師’}。但這種寫法存在一些局限性,并且會導
致MongoDB的命令不方便平滑移植到Python中。因此,建議使用帶單引號的寫法或者帶雙引號的寫法
在MongoDB里,插入數據的字段是可以任意修改、添加、刪除的
如再插入:
db.getCollection(‘learning’).insertOne({“today”: “6.8”,“tomo”:“9”})
db.getCollection(‘learning’).insertOne({“today”: “六月八日”,“tomo”:“9”,“week”:“tuesday”})
提示:
“能不能做”是一回事,“應不應該做”是另一回事。雖然
MongoDB能夠處理同一個字段的不同數據類型,也可以隨意增減字段,但并不意味著應該這樣做。在設計數據庫時,應盡量保證同一個字段使用同一種類型的數據,并提前考慮好應該有哪些字段。
增刪改查
批量插入:
db.getCollection(‘learning’).insertMany([{“name”: “小明”,“age”:“9”},
{“name”: “小紅”,“age”:“19”},
{“name”: “小王”,“age”:“22”}])
切換顯示模式:
注:
無論是插入一條數據還是插入多條數據,每一條數據被插入
MongoDB 后都會被自動添加一個字段“_id”。“_id”讀作“Object Id”,它是由時間、機器碼、進程pid和自增計數器構成的。
“_id”始終遞增,但絕不重復。
● 同一時間,不同機器上面的“_id”不同。
● 同一機器,不同時間的“_id”也不同。
● 同一機器同一時間批量插入的數據,“_id”依然不同。
查詢數據
db.getCollection(‘learning’).find()
或
db.getCollection(‘learning’).find({})
查詢特定數據:
db.getCollection(‘learning’).find({‘name’:‘小紅’})
“find”的參數相當于一個字典。字典的 Key 就是字段名,字典的值就是要查詢的值。如果字典有多個Key,則這些字段需同時滿足。
1)查詢所有“age”字段不小于25的記錄,
則需要使用大于等于操作符“$gte”。查詢語句如下:
db.getCollection(‘example_data_1’).find({‘age’: {’$gte’: 25}})
范圍操作符及其意義
其中,用于限定字段的字典的Key為各個字段名。其值只有兩個——0或1。
● 如果值為0,則表示在全部字段中剔除值為0的這些字段并返回。
● 如果值為1,則表示只返回值為1的這些字段。
例如,查詢數據集example_data_1,但不返回“address”和“age”字段。查詢語句如下:
db.getCollection(‘example_data_1’).find({}, {‘address’: 0, ‘age’: 0})
2)返回查詢的條數(一共多少條符合要求的)
count():
db.getCollection(‘learning’).find({‘age’: {’$gt’: 21}}).count()
3)limit(4)限制只返回4條數據。
具體命令如下:
db.getCollection(‘example_data_1’).find().limit(4)
4)對查詢結果進行排序——“sort()”命令。
字段的值為-1表示倒序,為1表示正序。
sort({‘字段名’:-1或1})
對所有“age”大于21的數據,按“age”進行倒序排列。查詢語
句如下:
.find({‘age’: {’$gt’:21}}).sort({‘age’: -1})
修改 去重數據
修改操作也就是更新(Update)操作,對應的 MongoDB 命令
為“updateOne()”和“updateMany()”。
去重操作用到的命令為“distinct()”。格式如下:
db.getCollection(‘example_data_1’).distinct(’字段名’, 查詢語句的第一個字典)
對“age”大于等于24的記錄的“age”字段去重
.distinct(‘age’,{‘age’:{’$gte’:24}})
mongodb介紹
MongoDB 可以用來保存大量數據,且字段和格式均可以隨意改變
SQL與MongoDB術語對比:
MongoDB[1] 是一個基于分布式文件存儲的數據庫。由C 語言編寫。旨在為WEB應用提供可擴展的高性能數據存儲解決方案。
總結
以上是生活随笔為你收集整理的【学习笔记】mongoDB初步(一)MongoDB的安装和增删改查基本语法,使用和命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java作业】实验二 货物进销管理系统
- 下一篇: 【练习】2021下半年数据结构刷题笔记和