標籤:
mongodb是一個用來儲存管理資料的軟體
他是一個 c/s 架構的軟體,是一個網路類型的軟體
如果要是使用mongodb的話,首先需要開啟mongodb的服務端,然後通過用戶端軟體去串連伺服器
1.要建立一個當前應用的資料庫:database
database - Excel
table - Sheet1 - 區分儲存相同類型的資料的集合
row - document - 一條記錄
column - field - 列,欄位
MongoDB 資料類型
下表為MongoDB中常用的幾種資料類型。
資料類型 描述
String字串。儲存資料常用的資料類型。在 MongoDB 中,UTF-8 編碼的字串才是合法的。
Integer整型數值。用於儲存數值。根據你所採用的伺服器,可分為 32 位或 64 位元。
Boolean布爾值。用於儲存布爾值(真/假)。
Double雙精確度浮點值。用於儲存浮點值。
Min/Max keys將一個值與 BSON(二進位的 JSON)元素的最低值和最高值相對比。
Arrays用於將數組或列表或多個值儲存為一個鍵。
Timestamp時間戳記。記錄文檔修改或添加的具體時間。
Object用於內嵌文檔。
Null用於建立空值。
Symbol符號。該資料類型基本上等同於字串類型,但不同的是,它一般用於採用特殊符號類型的語言。
Date日期時間。用 UNIX 時間格式來儲存當前日期或時間。你可以指定自己的日期時間:建立 Date 對象,傳入年月日資訊。
Object ID物件識別碼。用於建立文檔的 ID。
Binary Data位元據。用於儲存位元據。
Code代碼類型。用於在文檔中儲存 JavaScript 代碼。
Regular expressionRegex類型。用於儲存Regex。
命令:
db : 查看當前所在的資料庫
show dbs : 顯示所有資料庫的列表
use <db名稱> : 選擇進入指定的db,如果資料庫不存在,則會先建立,如果這個資料裡面沒有資料,可能顯示不出來
插入:
db.<COLLECTION_NAME>.insert({}) : 向指定的集合(表)中插入一條資料,如果該集合不存在,則會自動建立
更新:
db.<COLLECTION_NAME>.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
query : update的查詢條件,類似sql update查詢內where後面的。
update : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內set後面的
upsert : 可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入。
multi : 可選,mongodb 預設是false,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新。
writeConcern :可選,拋出異常的層級。
db.Users.update( {username:‘leo‘},{ $set:{age:36} } );
查詢
db.COLLECTION_NAME.find()
db.COLLECTION_NAME.find().pretty() :格式化列印資料
1 等於 {<key>:<value>} db.col.find({"by":"菜鳥教程"}).pretty() where by = ‘菜鳥教程‘2 小於 {<key>:{$lt:<value>}} db.col.find({"likes":{$lt:50}}).pretty() where likes < 503 小於或等於 {<key>:{$lte:<value>}} db.col.find({"likes":{$lte:50}}).pretty() where likes <= 504 大於 {<key>:{$gt:<value>}} db.col.find({"likes":{$gt:50}}).pretty() where likes > 505 大於或等於 {<key>:{$gte:<value>}} db.col.find({"likes":{$gte:50}}).pretty() where likes >= 506 不等於 {<key>:{$ne:<value>}} db.col.find({"likes":{$ne:50}}).pretty() where likes != 50
1 and2 db.col.find({key1:value1, key2:value2}).pretty()3 or4 db.col.find({$or:[{key1:value1},{key1:value1}]});5 6 7 刪除8 db.col.remove({})
limit(number) : 擷取指定條數的記錄
skip(number) : 指定跳過多少條記錄
limit+skip可以實現分頁的效果
比如有100條資料
每頁顯示5條
需要顯示第三頁的資料
limit(5).skip(10);
添加欄位索引,使查詢速度變快
db.<COLLECTION_NAME>.ensureIndex({KEY:1})
模糊查詢
使用正則
db.<COLLECTION_NAME>.find(KEY: {$regex: ‘正則字串‘})
db.<COLLECTION_NAME>.find(KEY: /正則/)
添加
查詢
修改
刪除
條件
排序
限制limit
skip
模糊比對
1 添加3條商品資訊 2 db.Goods.insert({name:‘iphone‘,‘price‘: 4000}); 3 db.Goods.insert({name:‘imac‘,‘price‘: 10000}); 4 db.Goods.insert({name:‘iphone6‘,‘price‘: 5000}); 5 db.Goods.insert({name:‘iphone6s‘,‘price‘: 6000}); 6 修改 7 db.Goods.update( {name:‘iphone‘}, {$set:{price:2000}} ); 8 刪除 9 db.Goods.remove({name:‘iphone6s‘});10 查詢11 db.Goods.find({name: ‘iphone‘}).pretty();12 db.Goods.find({name: /iphone/}).pretty();13 db.Goods.find({price: {$gt: 3000}}).pretty();14 db.Goods.find().limit(1).pretty();15 db.Goods.find().skip(1).pretty();16 db.Goods.find().limit(1).skip(1).pretty();17 db.Goods.find().sort({price: -1}).pretty();
MongoDB應用詳解