日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mongodb 字段出现次数_MongoDB数据库

發布時間:2025/3/11 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongodb 字段出现次数_MongoDB数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內容回顧

  • Xpath選擇器
    不要求記憶,只要混個眼熟即可
  • 基于openpyxl模塊爬取豆瓣電影
    單頁爬取
    多頁爬取

1.校驗請求頭里面是否有User-Agent參數
請求頭里面加上即可
2.限制IP規定時間內的訪問次數
1.人為的加上時間延遲
在你的程序里面加上time.sleep()讓你的程序間歇一段時間之后再執行
2.IP代理池

  • 非關系型數據庫之MongoDB

關系型數據庫與非關系型數據庫

常見數據庫軟件的端口號

3306 MySQL

6379 redis

27017 MongoDB

今日內容概要

  • MongoDB下載與安裝
  • 基本命令操作
  • 賬號創建及權限管理
  • 快捷操作MongoDB軟件
    Navicat
    Robo 3T

今日內容詳細

MongoDB下載與安裝

百度搜索官網點擊社區版本(community server)下載即可

安裝步驟可以參考:MongoDB 教程 | 菜鳥教程

1.下載.msi的文件

2.完成后雙擊該文件

custom自定義安裝路徑(放到D、E、F盤的根目錄下)

D:

E:

F:

不要勾選install MongoDB Compass

3.手動在MongoDB文件夾根目錄下(自動創建了就不要創了 版本原因)

1.創建data文件夾

然后再data文件夾內創建db文件夾

2.創建log目錄

然后在log目錄下創建mongod.log文件

4.將mongod.exe文件所在的路徑添加到環境變量中

mongod.exe mongodb數據庫的服務端

mysqld.exe MySQL數據庫的服務端

5.在MongoDB文件夾根目錄下

創建mongod.cfg文件

在該文件內拷貝以下代碼

systemLog:

destination: file

path: "D:MongoDBlogmongod.log"

logAppend: true

storage:

journal:

enabled: true

dbPath: "D:MongoDBdatadb"

net:

bindIp: 0.0.0.0

port: 27017

setParameter:

enableLocalhostAuthBypass: false

6.系統服務制作

一定要用管理員身份打開cmd終端

mongod --config "D:MongoDBmongod.cfg" --bind_ip 0.0.0.0 --install

或者直接在命令行指定配置

mongod --bind_ip 0.0.0.0 --port 27017 --logpath D:MongoDBlogmongod.log --logappend --dbpath D:MongoDBdatadb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install --auth

注意這里--auth如果沒有創建權限管理就不要加

7.啟動關閉

net start MongoDB

net stop MongoDB

8.登錄

mongo

MongoDB重要概念

"""

MySQL中三個重要概念

庫 文件夾

表 文件夾里面的文件

記錄數據 文件里面的一行行數據

"""

# 查看所有的庫

show databases; # MySQL命令

show dbs # MongoDB命令

SQL術語/概念 MongoDB術語/概念 解釋/說明

database database 數據庫

table collection 數據庫表/集合

row document 數據記錄行/文檔

column field 數據字段/域

index index 索引

inner join 表連接,MongoDB不支持

primary key primary key MongoDB自動將_id字段設置為主鍵

庫的增刪改查

1.創建

use 庫名 # use db1

# 庫不存在會自動創建(臨時先創建在內存中) 但是只有當你真正在該庫里面產生數據之后才會刷到硬盤(再保存到硬盤) 如果不錄入數據則創建的庫就沒了 所以用show dbs可能查看不到

2.查看

show dbs

3.改(忽略)

4.刪

要先有數據的庫才能刪除

use db1

db.db1.insert({'name':'jason'})

db.dropDatabase() (這里敲代碼時tab鍵補全)

集合的增刪改查

1.查

show tables

2.增

db.集合名 # 規律跟 use 庫名一致 里面沒有數據是show不出來的 db是關鍵字

db.createCollection(集合名) # db.createCollection('t2') # 直接寫入硬盤

3.改(忽略)因為沒有固定表結構沒有字段 字段名 字段類型

4.刪

db.集合名.drop() # db.t2.drop()

文檔增刪改查

1.增

單條

db.集合名.insert({...}) # db.t1.insert({'name':'jason'})

等價于

db.集合名.save({...})

多條

db.集合名.insert([{...},{...},{...},{...}])

2.查

查詢所有

db.集合名.find() # db.t1.find()

3.改

db.集合名.update(

篩選條件

新的內容

)

db.t1.update({'name':'jason1'},{$set:{'name':'jason111'}})

4.刪

db.集合名.remove(

篩選條件

)

db.t1.remove({'name':'jason2'})

#1、刪除多個中的第一個

db.t1.deleteOne({ 'age': 8 })

#2、刪除國家為China的全部

db.t1.deleteMany( {'addr.country': 'China'} )

#3、刪除全部

db.t1.deleteMany({})

用戶創建及權限管理

正常的數據庫軟件都應該有用戶及對應的權限管理

不可能所有人都是管理員都可以對所有的數據進行操作

有些用戶只可以查看,有些用戶可以修改,有些用戶可以刪除...

管理員賬戶需要在admin數據庫下創建

1.切換到admin數據庫下

use admin

2.創建賬戶并且賦予權限

db.createUser(

{

user: "root",

pwd: "123",

roles: [ { role: "root", db: "admin" } ]

}

)

其他用戶在test數據庫下創建

1.切換到test數據庫下

use test

2.創建賬戶并賦予權限

db.createUser(

{

user: "jason",

pwd: "123",

roles: [ { role: "readWrite", db: "test" },

{ role: "read", db: "db1" } ]

}

)

'''上述賬戶都可以創建多個'''

先停止服務

net stop MongoDB

再移除服務

mongod --remove

再次添加

mongod --bind_ip 0.0.0.0 --port 27017 --logpath D:MongoDBlogmongod.log --logappend --dbpath D:MongoDBdata --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install --auth

再次啟動

net start MongoDB

兩種驗證方式

1.直接在登錄的時候驗證

mongo -u "root" -p "123" --port 27017 --authenticationDatabase "admin"

2.進入之后再驗證

mongo

use admin

db.auth("root","123")

注意在切換賬戶時普通用戶不能直接切換到管理員身份需要exit退出后重新進入

作業

1.記憶關系型數據庫的ACID四大特性

  • 原子性(Atomicity):化學中的原子指不可再分的基本微粒,數據庫中原子性強調事務是一個不可分割的整體,事務開始后所有操作要么全部成功,要么全部失敗,不可能停滯在中間某個環節。如果事務執行過程中出錯就會回滾到事務開始前的狀態,所有的操作就像沒有發生一樣不會對數據庫有任何影響。
  • 一致性(Consistency):事務必須使數據庫從一個一致性狀態變換到另一個一致性狀態,即一個事務執行之前和執行之后都必須處于一致性狀態。拿轉賬來說,假設用戶A和用戶B兩者的錢加起來一共是5000,那么不管A和B之間如何轉賬,轉幾次賬,事務結束后兩個用戶的錢相加起來應該還是5000,這就是事務的一致性。
  • 隔離性(Isolation):當多個用戶并發訪問數據庫時,比如操作同一張表時,數據庫為每一個用戶開啟的事務,不能被其他事務的操作所干擾,多個并發事務之間要相互隔離,比如A正在從一張銀行卡中取錢,在A取錢的過程結束前,B不能向這張卡轉入錢。
  • 持久性(Durability):一個事務一旦被提交,則對數據庫的所有更新將被保存到數據庫中,不能回滾。

2.自己總結歸納數據庫三大范式

第一范式(保證每列具有原子性,列不可再分)。

第二范式( 確保表中的每一列都和主鍵相關)

第三范式 (數據庫中的每一列和主鍵列直接相關而不是間接相關)

3.自己獨立完成數據庫的安裝并創建兩個管理員賬戶三個普通用戶賬戶

三個普通賬戶各自權限都不一致

總結

以上是生活随笔為你收集整理的mongodb 字段出现次数_MongoDB数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。