您好,登錄后才能下訂單哦!
(一)增:
db.collname.insert({name:"user1",age:"20"}) 添加一條常規數據,
添加的數字是以json格式的鍵值對,后面的值需要添加雙引號或引號
db.collname.insert({time:new Date()}) mongodb支持js,可以在query中添加js語句
db.collname.insert({name:["user1","user2","user3"]}); 添加一條有數組的數據
db.collname.insert({name:{first:"user1",middle :"user2",last:"user3"}}) 添加一條有內嵌 文檔的數據,(mongodb中一行數據也稱為文檔(document))
自定義文檔插入:
> doc={
... name:"user",
... age:"20",
... sexy:"man"
... }
{ "name" : "user", "age" : "20", "sexy" : "man" }
> db.c1.insert(doc);
(二)查
查看collection(c1)所有的數據
db.c1.find()
查看用戶名為smith的數據
db.c1.find(name:"smith")
查看除了age字段以外的所有數據
db.c1.find({},{age:0})
查看用戶名為smith,不包括age字段的其他字段
db.c1.find({name:"smith"},{age:0})
只查看用戶名為smith的age字段
db.c1.find({name:"smith"},{age:1})
查看年齡大于20的數據
db.c1.find({age:{ $gt:20 }})
查看年齡小于20的數據
db.c1.find({age:{ $lt:20 }})
查看年齡大于等于20的數據
db.c1.find({age:{ $gte:20 }})
查看年齡小于等于20的數據
db.c1.find({age:{ $lte:20 }})
查看年齡不等于20的數據
db.c1.find({age:{ $ne:20 }})
查看同時有singging和football愛好的數據
db.c1.find({hobby:{$all:[”singging",“football”]}});($all 必須都包括,$in只需要包 括其 中一個)
查看有singging或是football愛好的數據
db.c1.find({hobby:{$in:[”singging",“football”]}})
查看沒有singging或是football愛好的數據
db.c1.find({hobby:{$nin:[”singging",“football”]}})
查看存在某個字段的數據:并只輸出五條數據
db.c1.find({name:{$exists:true }}).limit(5);
取模操作,查看年齡尾數為一的數據
db.c1.find({age:{$mod:[10,1]}});
查看符合至少一個要求的數據 $or
db.c1.find({$or:[{age:20},{sexy:"man"});
查看一個要求都不符合的數據 $nor
db.c1.find({$nor:[{age:20},{sexy:"man"});
查看數組長度等于3的數據(設a為數組)
db.c1.find({a:{$size:3}})
檢索name屬性是以u開頭,4結尾的所有用戶(可使用正則表達式)
db.c1.find({name:/u.*4$/i})
排序//1表示升序,-1表示降序
db.c1.find().sort({_id: 1})
查下唯一值
db.c1.distinct(“age")
分頁查詢:
db.c1.find().skip(20).limit(8);
或是:db.c1.find({},{},8,20);
查詢記錄數:
db.c1.find().count();
查詢某document沒有數值,或不存在:
db.c1.find(name:null)
查詢中$slice的用法
db.posts.find({}, {comments:{$slice: 5}}) // 前5條評論
db.posts.find({}, {comments:{$slice: -5}}) //后5條評論
db.posts.find({}, {comments:{$slice: [20, 10]}}) // skip 20, limit 10
db.posts.find({}, {comments:{$slice: [-20, 10]}}) // 20 from end, limit 10
(三)刪
刪除c1(collection)下的所有數據
db.c1.remove()
刪除id為10的數據
db.c1.remove({_id:10})
建議:刪除操作的時候,盡量用_id作為條件
某些情況下,當你在對一個記錄執行remove操作的時候,可能會有update操作在這個記錄上,這樣就可能刪除不掉這個記錄,如果你覺得這不盡人意,那么你可以在remove操作的時候加上$atomic: db.videos.remove( { rating : { $lt : 3.0 }, $atomic : true } )
(四)改
語法 db.collection.update( criteria, objNew, upsert, multi )
Criteria:用于設置查詢條件的對象
Objnew:用于設置更新內容的對象
Upsert:如果記錄已經存在,更新它,否則新增一個記錄
Multi:如果有多個符合條件的記錄,全部更新
注意:默認情況下,只會更新第一個符合條件的記錄
如果存在更新它,如果不存在,新增記錄 db.mycollection.save(x);
把id為0的age改成20
db.user.update({_id:0},{$set:{age:20}});
把id為0的age加上20
db.user.update({_id:0},{$inc:{age:20}});
把id為0的age減去20
db.user.update({_id:0},{$inc:{age:-20}});
把id為0的sex字段刪除
db.user.update({_id:0},{$unset:{sex:1}});
修改id為0的hobby字段(前提hobby是數組,或是不存在,否則會報錯)
db.user.update({_id:0},{$push:{hobby:'football'}});
{ $pushAll : { field : value_array } } 用法跟上面一樣
往id為0的hobby字段添加一個數據(前提hobby是數組,或是不存在,否則會報錯)
db.user.update({_id:0},{$addToSet:{hobby:'football'}});
刪除id為0的hobby字段的最后一個數據(前提hobby是數組,或是不存在,否則會報錯
db.user.update({_id:0},{$pop:{hobby:'football'}});
刪除id為0的hobby字段中符合條件的數據(前提hobby是數組,或是不存在,否則會報錯
db.user.update({_id:0},{$pull:{aihao:'bike'}});
把id為0的數據中name字段名改為username
db.user.update({_id:0},{$rename:{'name':'username'}});
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。