在這篇文章,本魯會針對基本指令解說,新增、修改、刪除、查詢。
先給一個對應表讓大家看。
先給一個對應表讓大家看。
MongoDB
|
MS SQL
|
db.collection.find(條件)
|
SELECT
|
db.collection.insert(document)
|
INSERT
|
db.collection.update( criteria, objNew, upsert, multi )
|
UPDATE
|
db.collection.remove()
|
DELETE
|
*註:上表的collection指的就是Table Name,在MongoDB裡面稱為collection。(參考)
由上表可知,MongoDB是一種很熟悉的語言,因為使用javascript,所以撰寫上對於有接觸過javascript應該不是什麼困難的事。
在開始前,有兩個步驟:(詳細請參考 MongoDB 安裝(windows))
1.開啟MongoDB服務
2.開啟操作介面
查詢:
db.collection.find(條件)
當條件是空值,()內不需填寫,代表查詢全部資料。(以下collection假設有個表叫Users)
db.Users.find();
查詢Users中,只顯示userid、username、age三個欄位
若要查詢Users中age >28
寫到這先簡單說一下,MongoDB的一些基本運算子,剛開始會很不習慣,久了就上手了。
$gt : >
$lt : <
$gte: >=
$lte: <=
$ne : !=、<>
$in : in
$nin: not in
$regex(like語法),此部份稍稍複雜,建議直接看官方說明比較清楚。(說明)
新增:
新增比較單純,但要注意一點,MongoDB每個collection裡面都會自動產生一個 _id 的欄位(field),此欄位為primary key,語法如下
更新(修改):
db.collection.update( criteria, objNew, upsert, multi )可接受四個參數,說明如下:
以下例,想找出age > 25 並更新 username = John
刪除:
db.collection.remove(),指的是針對collection(table)刪除裡面的資料,
若要刪除collection另有語法。
同樣括號內,可寫入條件,若想針對此collection資料都清除,語法如下:
db.Users.remove({});
()括號內加入大括號即可。
若有條件的刪除,如下
db.Users.remove({ username : "Kevin" });
以上為MongoDB中的基本語法介紹。
參考資料:MongoDB
1.開啟MongoDB服務
2.開啟操作介面
查詢:
db.collection.find(條件)
當條件是空值,()內不需填寫,代表查詢全部資料。(以下collection假設有個表叫Users)
db.Users.find();
查詢Users中,只顯示userid、username、age三個欄位
db.Users.find(
{ },
{ userid: 1, username: 1 ,age: 1, _id: 0 }
);
若要查詢Users中age >28
db.Users.find( { age: { $gt: 28 } }
);
寫到這先簡單說一下,MongoDB的一些基本運算子,剛開始會很不習慣,久了就上手了。
$gt : >
$lt : <
$gte: >=
$lte: <=
$ne : !=、<>
$in : in
$nin: not in
$regex(like語法),此部份稍稍複雜,建議直接看官方說明比較清楚。(說明)
新增:
新增比較單純,但要注意一點,MongoDB每個collection裡面都會自動產生一個 _id 的欄位(field),此欄位為primary key,語法如下
db.Users.insert( { userid: "abc123", age: 55, username: "Kevin" } )
更新(修改):
db.collection.update( criteria, objNew, upsert, multi )可接受四個參數,說明如下:
- criteria : update的查詢準則,類似sql update查詢內where後面的。
- objNew : update的物件和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內set後面的
- upsert : 這個參數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,默認是false,不插入。
- multi : mongodb默認是false,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新。
以下例,想找出age > 25 並更新 username = John
db.Users.update( { age: { $gt: 25 } }, { $set: { username: "John" } }, { multi: true } )
刪除:
db.collection.remove(),指的是針對collection(table)刪除裡面的資料,
若要刪除collection另有語法。
同樣括號內,可寫入條件,若想針對此collection資料都清除,語法如下:
db.Users.remove({});
()括號內加入大括號即可。
若有條件的刪除,如下
db.Users.remove({ username : "Kevin" });
以上為MongoDB中的基本語法介紹。
參考資料:MongoDB
留言
張貼留言