mongodb 基本增刪改查

iullor發表於2024-04-03


//資料寫入
db.test.save({"name":"zs"})
db.test.insert({"name":"ls","age":11})
db.test.save({"name":"lzs"})

//新增多條資料
db.test.save([{"name":"zs","age":13},{"name":"zs","age":15,"sex":"男"}])

//查詢所有資料 預設查所有
db.test.find()


//傳參 物件
db.test.find({"name":"ls"})

//查詢年齡13歲的所有
db.test.find({"age":13})


//年齡範圍篩選 {$lt:17} 表示式 lt 小於 gt 大於
db.test.find({"age":{$lt:13}})

//模糊查詢 name 包含 l的 /查詢條件/ %查詢條件%
db.test.find({"name":/z/})

//模糊查詢 name z開頭的資料 ^ 開頭 $標識結尾
db.test.find({"name":/^z/})
db.test.find({"name":/^zs$/})

//多條件組合查詢 名字以z開頭,年齡小於12的
db.test.find({"name":/^z/,"age":{$lt:12}})


//排序 sort 1升序,-1 降序
db.test.find({"name":/s$/,"age":{$gt:12}}).sort({"age":1})
db.test.find({"name":/s$/,"age":{$gt:12}}).sort({"age":-1})


//查詢兩條以後的資料,跳過第N條
db.test.find({"name":/s$/,"age":{$gt:12}}).sort({"age":-1}).skip(1)


//查詢 1-3 之間的資料 limit skip 分頁查詢 eq 等於 lt 小於 gt 大於
db.test.find({"name":/s$/,"age":{$eq:11}}).sort({"age":-1}).limit(4).skip(1)



//查詢年齡 =11 或者 年齡=13的
db.test.find(
{$or:[
	{"age":11},
	{"age":13}
]}
)

//查詢第一條資料
db.test.findone()


//查詢某個結果集的記錄條數 統計數量
db.test.find({"age":{$lt:13}}).count()


//修改資料
db.test.update({"name":"lzs"},{$set:{"age":16}})

db.test.find()

db.test.update({"name":"lzs"},{$set:{"age":16,"sex":"女"}})


//$inc修改器
db.test.update({"name":"lzs"},{$inc:{"age":1}},false,true)

//不寫$set 則完整替換整條資料,其他屬性置空
db.test.update({"name":"lzs"},{"name":"lzs1"})



//刪除,預設 remove()方法會刪除所有符合 remove 條件的文件
// remove(querry,,{justOne:true}) 預設 justOne false 會刪除所有符合條件的資料
db.test.remove({"name":"zs","age":11})

db.test.remove({"name":"zs","age":11},{justOne:false})


相關文章