-
一MySQL連接字符串:
和MySQL一樣,MongoDB的連接,同樣是以字符串的形式。
標準的URL連接字符串: -
mongodb://username:password@host1:port1,host2:port2…/database?options
和MySQL類似;
server(ip);database(數據庫名);User id(用戶名);password(密碼):options
不同的是:
-
1mongodb://是固定的格式
-
2MongoDB至少要有一個host,因爲該NoSQL可用做分佈式數據庫,可以同時連接到多個數據庫,共享資源。
-
3username:password@是可選的,在我們不指定username和password時,就會默認連接到test數據庫
-
4端口號是可選的,默認是27017
-
5database是依賴於username和password,爲什麼這樣說呢?
因爲如果我們指定了username:password@,就會連接並登錄到指定的數據庫,若不指定,則默認連接到test數據庫 -
二MongoDB的基本操作
1創建數據庫&切換數據庫&顯示當前/所有數據庫
MongoDB在創建數據庫上比MySQL靈活一下
use database_name
(1)若存在對應的數據庫,那麼就會切換到對應的數據庫
(2)若不存在對應的數據庫,那麼就會創建該數據庫
MySQL
創建數據庫
create database database_name
切換數據庫
use database_name
顯示當前選中的數據庫
show db
顯示所有的數據庫
show dbs
-
2創建集合
所謂的集合,其實就好比Mysql數據庫中的表 MongoDB有兩種創建集合的方式
(1)直接創建db.createCollection("集合名”)
(2)間接創建 db.集合名.insert() 這裏和上面創建數據庫很像
若存在對應的集合,那麼就直接向該集合中插入文檔 若不存在對應的集合,那麼就會創建該集合
- 3集合中插入數據
(1)文檔形式插入(只支持,一次性插入一個數據,不支持一次性插入多條數據)
db.xx.insert({“key1”:“value1”,“key2”:value2});
(2)以變量形式插入
這裏提一下:MongoDB的後臺管理shell是採用javascript shell來進行管理,所以我們可以在該控制檯執行簡答的運算,同時,可以爲變量賦值
定義變量,並將該變量插入到集合中去
(3)批量插入數據:
前面說到該MongoDB的cmd界面是一個JavaScriptshell界面
所以可以聲明變量,方法等
- 4查找集合中的文檔
查詢該集合下的所有文檔
db.xx.find()(與mysql的select * 類似)
查找集合中的變量
條件查詢集合
db.collection.find({key:value})//此處的key不需要像插入時那樣打引號
- 5更新集合中的文檔
與MySQL類似,也是採用update作爲關鍵字
db.xx.update(
<query>,
<update>,{
upsert:<boolean>,
multi:<boolean>,
writeConcern:<document>
}
}
db.collection.update({條件},{操作},{選項});
db.xxx.update({name:“111”},{KaTeX parse error: Expected 'EOF', got '}' at position 19: …:{"name":"999"}}̲);
將姓名爲111的改爲99…set:{}進行數據更新
upsert:(布爾類型)可選,意思是,若不存在需要更新的數據
true:將該數據插入到該集合中,
false 將該數據不插入到集合中
multi:可選,同樣是布爾類型,若該參數爲true,則更新所有滿足條件的記錄,若爲false,則只更新第一條滿足條件的記錄
multi爲true:
更新了所有滿足條件的數據
multi爲false:
更新了第一條滿足條件的數據
- 6刪除數據庫&集合
db.dropDatabase()
即可刪除當前的數據庫
db.集合名.drop()即可刪除當前集合
db.集合名.remove()清空當前集合
與MySQL數據庫不一樣的是
刪除數據庫
drop database database_name
刪除表
drop table table_name
清空表
delete table table_name
以上就是對MongoDB的入門介紹了,若有疑問或不懂的歡迎評論諮詢,我也是正在學習MongoDB,希望和大家一起討論交流&進步!