[TOC]
# 添加文檔
語法: db.集合名.insert({k1:’v1’,k2:’v2’…..})
注意點:
(1)文檔就是鍵值對,數據類型是BSON格式,支持的值更加豐富。

比如:db.集合名.insert({name:’xiaobai’,spc:{weight:100,address:’guangzhou’}})
(2)在添加的文檔里面,都有一個’_id’的鍵,值為對象類型。

ObjectId類型:
每個文檔都有一個_id字段,并且同一集合中的_id值唯一,該字段可
以是任意類型的數據,默認是一個ObjectId對象。
ObjectId對象對象數據組成:時間戳 |機器碼|PID|計數器
`_id`的鍵值我們可以自己輸入,但是不能重復
注意:在插入數據的時候,如果_id的值重復則會報錯。
(3)可以使用js代碼來完成批量插入文檔
# 刪除文檔
語法:db.集合名.remove({條件})(不寫條件刪除所有的文檔)
例1:刪除 php 集合中年齡等于5的文檔
db.php.remove({age:5})
例2:刪除 php 集合中年齡大于7的文檔
使用操作符來完成
常用操作符:
$lt , $lte , $gt , $gte ( < , <= , > , >= ), $ne ( <> ) ,$in , $nin , $or , $not,
$mod (取模), $exists, $where
db.php.remove({age:{‘$gt’:7}})
# 更新文檔
方法一,直接修改
語法:db.集合名.update({條件},{新的文檔})
語法: db.集合.update(條件,新文檔, 是否新增, 是否修改多條)
是否新增:如果值是1(true)則沒有滿足條件的則添加。
是否修改多條:若值是1(true),如果滿足條件的有多個文檔則都要修改,
案例1:在PHP集合里面,要修改age=4的文檔名稱為xiaosi
db.php.update({age:4},{name:’xiaosi’})
方法二,使用修改器
案例2:要修改age=3的文檔名稱為xiaosan,并且其他鍵值不能丟失
使用修改器
$inc : 加一個數字
$set : 修改某一個字段,如果該字段不存在就增這個字段
語法:db.集合名.update({條件},{修改器名稱:{修改的鍵:修改的新值}})
db.php.update({age:3},{‘$set’:{name:’xiaosan’}})
案例3:要修改age=1的文檔的年齡添加10歲
db.php.update({age:1},{$inc:{age:10}})
# 查詢文檔
語法:db.集合名.find({條件})
案例1:取出php集合里面第一個文檔
db.php.findOne();
案例2:取出php集合里面age=2的文檔
db.php.find({age:2})
案例3:取出php集合里面age大于2的文檔
db.php.find({age:{‘$gt’:2}})
案例4:取出php集合里面的文檔,只顯示name鍵
db.php.find({},{age:1})//1表示只顯示age鍵值
db.php.find({},{age:0})//0表示除了age鍵值,其他的都顯示。
案例5:根據年齡的(降序|升序)來顯示文檔
db.集合名.find().sort({age:1})根據年齡升序
db.集合名.find().sort({age:-1})根據年齡降序
案例6:顯示php集合中前3個文檔。
db.php.find().limit(3)
案例7:顯示php集合中第3個文檔到第5個文檔。
db.php.find().skip(2).limit(3)
案例8:統計php集合中文檔的個數
db.集合名.count():返回集合中有多少個文檔
- SQL
- 名詞
- mysql
- 初識mysql
- 備份和恢復
- 存儲引擎
- 數據表損壞和修復
- mysql工具
- 數據庫操作
- 增
- 刪
- 改
- 查
- 數據類型
- 整數類型
- 小數類型
- 日期時間類型
- 字符和文本型
- enum類型
- set類型
- 時間類型
- null與not null和null與空值''的區別
- 數據表操作
- 創建
- 索引
- 約束
- 表選項列表
- 表的其他語句
- 視圖
- sql增刪改查
- sql增
- sql刪
- sql改
- sql查
- sql語句練習
- 連接查詢和更新
- 常用sql語句集錦
- 函數
- 字符函數
- 數值運算符
- 比較運算符與函數
- 日期時間函數
- 信息函數
- 聚合函數
- 加密函數
- null函數
- 用戶權限管理
- 用戶管理
- 權限管理
- pdo
- 與pdo相關的幾個類
- 連接數據庫
- 使用
- pdo的錯誤處理
- pdo結果集對象
- pdo結果集對象常用方法
- pdo預處理
- 常用屬性
- mysql編程
- 事務
- 語句塊
- mysql中的變量
- 存儲函數
- 存儲過程
- 觸發器
- mysql優化
- 存儲引擎
- 字段類型
- 三范式和逆范式
- 索引
- 查詢緩存
- limit分頁優化
- 分區
- 介紹
- 分區算法
- list分區
- range范圍
- Hash哈希
- key鍵值
- 分區管理
- 特別注意
- 分表
- 數據碎片與維護
- innodb表壓縮
- 慢查詢
- explain執行計劃
- count和max,groupby優化
- 子查詢優化
- mysql鎖機制
- 介紹
- 演示
- 總結
- 樂觀鎖和悲觀鎖
- 扛得住的mysql
- 實例和故事
- 系統參數優化
- mysql體系結構
- mysql基準測試
- 索引
- mysql的復制
- win配置MySQL主從
- mysql5.7新特性
- 常見問題
- general log
- 忘記密碼
- uodo log與redo log
- 事務隔離級別
- mysql8密碼登錄
- explain
- 高效的Tree表
- on delete cascade 總結
- mongod
- 簡介
- 集合文檔操作語句
- 增刪改查
- 索引
- 數據導入和導出
- 主從復制
- php7操作mongod
- 權限管理
- redis
- redis簡介
- 3.2版本配置文件
- 3.0版本配置文件
- 2.8版本配置文件
- 配置文件總結
- 外網連接
- 持久化
- RDB備份方式保存數據
- AOF備份方式保存數據
- 總結
- win安裝redis和sentinel部署
- 事務
- Sentinel模式配置
- 分布式鎖
- 管道
- php中redis代碼
- 發布訂閱
- slowlog
- Redis4.0
- scan和keys
- elasticsearch
- 配置說明
- 啟動
- kibana
- kibana下載
- kibana配置文件
- kibana常用功能
- 常用術語
- Beats
- Beats簡介
- Filebeat
- Packetbeat
- Logstash
- 配置
- elasticsearch架構
- es1.7
- head和bigdesk插件
- 插件大全
- 倒排索引
- 單模式下API增刪改查
- mget獲取多個文檔
- 批量操作bulk
- 版本控制
- Mapping映射
- 基本查詢
- Filter過濾
- 組合查詢
- es配置文件
- es集群優化和管理
- logstash
- kibana
- es5.2
- 安裝
- 沖突處理
- 數據備份
- 缺陷不足
- 集群管理api
- 分布式事務
- CAP理論
- BASE模型
- 兩階段提交(2PC)
- TCC (Try-Confirm-Cancle)
- 異步確保型
- 最大努力通知型
- 總結