mongodb命令 基礎操作

MongoDB基礎操作

一,對比SQL與MongoDB相關概念

SQL術語/概念 MongoDB術語/概念 解釋/說明
database database 數據庫
table collection 表/集合
row document 數據記錄行/文檔
column filed 數據列/字段
index index 索引
table joins 表連接/MongoDB不支持
primary key primary key 主鍵/MongoDB使用 _id 字段爲主鍵

二.MongoDB操作命令和語法

1.創建數據庫

//如果數據庫不存在,則創建數據庫,若存在,則切換到當前數據庫
$ use test

注意:在mongodb中,集合只有在內容插入之後纔會創建,也就是說,創建集合(數據表)後,要再插入一個文檔(記錄),集合超級真正創建

2.查看所有數據庫

$ show dbs  或者show databases

3.刪除數據庫

$  db.dropDatabase()

4.查看當前使用的數據庫

//默認會是test
$  db或者db.getName()

5.顯示當前數據庫的狀態信息

$ db.stats()

6.修改數據庫名稱

//先拷貝再刪除原來的數據庫
db.copyDatabase('userinfo', 'userDB'); 
use userDB; 
db.dropDatabase();

7.創建集合

$ db.createCollection("集合名字")

//db.createCollection(name, options)  options指可選參數, 指定有關內存大小及索引的選項

8.查看已有集合

$ show tables 或者show collections 或者 db.getCollectionNames()

9.刪除指定集合

$ db.集合名.drop()

10.插入文檔

$ db.集合名.save(document); 
$ db.集合名.insert(document);
$ db.集合名.insertOne()//將單個文檔插入集合
$ db.集合名.insertMany()//將文檔數組插入集合
//如果該集合名不存在,則會自動創建

11.查看所有文檔

$ db.集合名.find()

12.更新文檔

$ db.集合名.save(document); //若傳入了_id,可以實現單條修改,可以理解爲替換了之前的document

$ db.集合名.update({query},{//query類似於sql中的 條件
    $set:{
      字段:值 //類似sql中的set
    }
})

//根據條件修改一條數據的內容,如出現多條,只修改第一個的
$ db.集合名.updateOne({條件},{$set:{修改的字段和值}})  
//根據條件修改所有數據的內容,多條修改
$ db.集合名.updateMany({條件},{$set:{修改的字段和值}})   

13.刪除文檔

$ db.集合名.deleteOne({query});//只會刪除第一條

$ db.集合名.deleteMany({query});//會刪除所有符合條件的

------以上兩個方法 官方推薦使用-------------

$ db.集合名.remove({query});//query類似於sql中的 條件

//無條件刪除數據,這裏要注意了,這是刪除所有數據,清空Collection
$ db.集合名.remove({})//謹慎操作

14.根據條件查詢文檔

$ db.集合名.findOne()//只返回一個記錄

//操作符
$ db.集合名.find({"id":"1"})//等於用冒號

//小於用 $lt
$ db.集合名.find({
    "age":
    {
        $lt:18 
    }
})

//小於且等於 $lte
$ db.集合名.find({
    "age":
    {
        $lte:18 
    }
})

//大於
$ db.集合名.find({
    "age":
    {
        $gt:18 
    }
})

//大於等於
$ db.集合名.find({
    "age":
    {
        $gte:18 
    }
})


//不等於
$ db.集合名.find({
    "age":
    {
        $ne:18 
    }
})
操作 格式 範例 RDBMS中的類似語句
等於 {:} db.col.find({"by":"菜鳥教程"}) |where by = ‘菜鳥教程’`
小於 {:{$lt:}} db.col.find({"likes":{$lt:50}}) |where likes < 50`
小於或等於 {:{$lte:}} db.col.find({"likes":{$lte:50}}) |where likes <= 50`
大於 {:{$gt:}} db.col.find({"likes":{$gt:50}}) |where likes > 50`
大於或等於 {:{$gte:}} db.col.find({"likes":{$gte:50}}) |where likes >= 50`
不等於 {:{$ne:}} db.col.find({"likes":{$ne:50}}) |where likes != 50`

如果你熟悉常規的 SQL 數據,通過上表可以更好的理解 MongoDB 的條件語句查詢!

and查詢
$ db.集合名.find({key1:value1, key2:value2})

//類似於 WHERE 語句:WHERE id=1 AND name='zhangsan'
$ db.集合名.find({"id":1,"name":"zhangsan"})

or查詢
$ db.集合名.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
)

//類似於 WHERE 語句:WHERE id=1 or name='zhangsan'
$ db.集合名.find({$or:[
    	{"id":1,"name":"zhangsan"}
    ]}
)
and 和or聯合使用
$ db.集合名.find({
    "age": {$gt:50},
    $or: [
        {"1": 1},
        {"name":"zhangsan"}
    ]
})
升序
//寫  1  爲升序
$ db.集合名.find().sort({ 字段: 1 })

降序
//寫  -1  爲降序
$ db.集合名.find().sort({ 字段: -1 })

查詢多少條之後的數據
$ db.集合名.find().skip(n)//n代表某正整數 比如:查詢10條之後的數據
限制多少條的數據
$ db.集合名.find().limit(n)//n代表某正整數 比如:查詢前5條之後的數據
查詢 多少條之後的 多少條記錄
$ db.集合名.find().skip(n).limit(m)//n,m代表某正整數 比如:查詢10條之後的5條數據
查詢第一條記錄
$ db.集合名.findOne()
查詢結果的總條數
$ db.集合名.find().count()

三.參考鏈接

菜鳥教程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章