MongoDB的默認數據庫爲“db”,該數據庫存儲在data目錄中
“show dbs”顯示所有數據庫列表
“db”顯示當前數據庫對象或者集合
“use dbname”連接一個指定的數據庫
文檔即行row,是一組的鍵值對(BSON)
mongod 是數據庫的服務端
mongo是數據庫的客戶端
連接數據庫:
①首先啓動客戶端./mongo
mongodb://[username:password@] host1 [:port1] [/database] [options]
例子:使用用戶名和密碼連接登錄到指定的數據庫,端口不填默認爲27017
mongodb://admin:132456@localhost/test
創建數據庫:
use dbnames
刪除數據庫:
首先切換到數據庫:use dbnames
刪除:db.dropDatabase()
刪除集合(表格)
首先切換到數據庫:use dbnames
db.collectionnames.drop()
查看所有表格:
show tables
插入文檔:
db.collectionnames.insert(document)
例如:
db.col.insert({title:"MongoDB",by:"guojing"})
查看文檔:
db.collectionnames.find(query).pretty()
db.collectionnames.findOne()
AND條件:
db.collectionname.find({key1:value1,key:value2}).pretty()
查詢條件中BSON結構{}裏面用“,”分開查詢條件相當於條件and
OR條件:
db.collectionname.find(
{
$or:[{key:value1},{key2:vaule2}]
}
)
限制顯示的數據數量:
db.collectionname.find().limit(number)
數據排序:
db.collectionname.find().sort({key:1}) 1爲升序,-1爲降序
更新文檔:
db.collectionname.update(
<query>,(類似於sql update查詢內where後面的)
<update>(類似於sql update查詢內set後面的)
)
刪除文檔:
db.collectionname.remove(
<query>,(刪除文檔的條件)
<justone>(值爲ture或1,則只刪除一個文檔)
)
建立索引:
db.collectionname.ensureIndex({key:1},{unique:true}) key爲你要創建的索引字段,1爲升序創建索引,-1爲降序創建索引,參數指定爲唯一索引
也可以使用多個字段創建索引
db.collectionname.ensureIndex({"title":1,"description":-1})
聚合用法:
db.collectionname.aggregate(OPERATION)
管道:
db.collectionname.aggregate([
{$match:{score:{$gt:70,$lte:90}}},
{$group:{_id:null,cout:{$sum:1}}}
]);
$match用於獲取大於70小於或者等於90的記錄,然後將符合條件的記錄送到下一個階段$group管道操作符進行處理