MongoDB教育訓練-04
Array 查詢
Array 查詢 操作
- $all
- $size(少用無法使用index)
- $element 元素滿足
#age > = 18 && age <= 3 , array 其中一個值滿足其中一個條件即可
age : { $gt : 18, $lt: 30}
#age > = 18 && age <= 3 , array 其中一個值滿足所有條件
age : { $elemMatch { $gt : 18, $lt: 30}}
排序
_id: 0 #不顯示id
更新
- updateOne : 更新查詢第一筆
- updateMany: 更新所有
更新欄位
# 加減
$inc : +
# 乘
$mul: *
#大於更新
$max
#小於才更新
$min
#q1
db.inspections.updateMany({result:"Completed"},{$set:{"result":"No Violation Issued"}})
#q2
db.inspections.updateMany({result:'Fail'},{$set:{fine:100}})
#q3
db.inspections.updateMany({"address.city": "ROSEDALE"}, {$inc: {fine: 150}})
Array 新增移除
$pop : 1 (最後元素)
$pop : -1 (第一個元素)
# 檢查不存在才新增
$addToSet
基本mongoDB 基本無lock,每次更新檢更新序號,是否為最新,若不是最新,嘗試合併最新,重新更新