《TODO:MongoDB的查詢更新刪除總結》要點:
本文介紹了TODO:MongoDB的查詢更新刪除總結,希望對您有用。如果有疑問,可以聯系我們。
相關主題:非關系型數據庫
TODO:MongoDB的查詢更新刪除總結
常用查詢,條件操作符查詢,< 、<=、>、>=、!= 對應 MongoDB的查詢操作符是
$lt、$lte、$gt、$gte、$ne
例:
db.getCollection('image_detail').find({"dig" : {$gte:0}})//查詢大于等于0的數據
$all,$in的區別
{"dig" : {$all : [0,1]}查詢出來的結果dig必須有0和1
{"dig" : {$in : [0,1]}查詢出來的結果dig可以有0和1,或0,或1
有in就有not in,但是沒有not all
not in的操作符是$nin,{"dig" : {$nin : [0,1]},查詢出來的dig值不包含0,1
$nin還有個替換的方式$in 取反 {$not : {$in : [0,1]}},巧妙的使用$not,可以解決很多使用場景
db.getCollection('image_detail').find({"dig" :{$not : {$in:[0,1]}}}
db.getCollection('image_detail').find({"dig" :{$not : {$all:[0,1]}}})
數組的or查詢操作符$or
db.getCollection('image_detail').find({$or:[{"dig" :{$not : {$in:[0,1]}}},{"group" : false}]})
$exists判斷字段釋放存在,{group:{$exists:true}}表示存在group字段,false這是不存在
db.getCollection('image_detail').find({group:{$exists:true}})
巧妙的使用null,{group:null}可以查詢出group為null的記錄,以及沒有group字段的記錄,如果要查詢出字段group為null的值,就需要配合{$exists:true}的使用
db.collection.find({group:{"$in":[null],"$exists":true}})
查詢記錄條數使用count()
db.getCollection('image_detail').find({group:null}).count()
用sort函數排序,sort({dig:1})按升序排序,sort({dig:-1})按降序排序
db.getCollection('image_detail').find().sort({dig:1})
db.getCollection('image_detail').find().sort({dig:-1})
skip和limit語句,跳過幾條記錄然后查詢指定數目的記錄
db.getCollection('image_detail').find().sort({dig:-1}).skip(10).limit(10)
數據更新update的使用,update常用到4個參數,
第一個參數是查詢條件,
第二個參數是更新語句,
第三個參數upsert 可選參數意思是,如果不存在update的記錄,是否插入objNew,true為插入,默認是false,不插入;
第四個參數multi_bool可選,默認是false,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新.
db.getCollection('image_detail').update({}, {"$set": {"dig":3}},false,true)
數組更新push,刪除pull
db.getCollection('image_detail').update({"group" : false},{"$pull": {"tags":"圖片"}},false,true)
db.getCollection('image_detail').update({},{"$push": {"tags":"圖片"},"$inc":{"dig":1}},false,true)
數組切片查詢$slice,
{"tags" : {$slice:10}}查詢數據前10條記錄,
{"tags" : {$slice:-10}}查詢數據后10跳記錄,
{"tags" : {$slice:[2,5}}查詢第2條數據后5條跳記錄
這個例子查詢顯示的字段為tags,image,dig
db.getCollection('image_detail').find({},{"tags": {"$slice":[2,3]},"_id":0,"image":1,"dig":1})
遞增的參數$inc,遞減呢?
{"$inc" : {"dig":1}} 是dig字段增1,
{"$inc" : {"dig":-1}} 是dig字段減1
刪除remove
db.getCollection('image_detail').find({"dig":1})
常用help
db.help()
db.find.help()
db.update.help()
《TODO:MongoDB的查詢更新刪除總結》是否對您有啟發,歡迎查看更多與《TODO:MongoDB的查詢更新刪除總結》相關教程,學精學透。維易PHP學院為您提供精彩教程。