MongoDB学习笔记(一)--基础
Insert???????????????????????????????????????????????????????????????????????????????????????
MongoDB在執(zhí)行插入時(shí),首先會(huì)將插入的數(shù)據(jù)轉(zhuǎn)換成BSON格式。然后MongoDB數(shù)據(jù)庫會(huì)對BSON進(jìn)行解剖,并檢查是否存在_id建。
>doc = {"_id" : 1,"author" : "yyd","title" : "MongoDB Test","text" : "this is a test","tags" : ["love","test"],"comments" : [{"author" : "yyd_guest","comment" : "yes"},{"author" : "yyd_admin","comment" : "no"}] } > db.yyd.insert(doc);?
Query???????????????????????????????????????????????????????????????????????????????????????
全部查找
返回除了 tags 字段外的所有字段
返回 tags = test 除了 comments 的所有列
返回 id=1 的 title 字段
- <, <=, >, >=
大于 $gt、小于 $lt、大于等于 $gte、小于等于 $lte
- $all
$all 操作類似$in 操作,但是不同的是,$all 操作要求數(shù)組里面的值全部被包含在返回的記錄里面。
- $exists
$exists 操作檢查一個(gè)字段是否存在。
$exists:true代表返回存在這個(gè)鍵的值。
$exists:false代表返回不存在這個(gè)鍵的值。
- $mod
兩句話一樣的效果。
- $ne
$ne 意思是 not equal,不等于。
- $in
$in 操作類似于傳統(tǒng)關(guān)系數(shù)據(jù)庫中的 IN。
- $nin
$nin 跟$in 操作相反。
- $or
- $nor
$nor 跟$or 相反。
- $size
$size 操作將會(huì)查詢數(shù)組長度等于輸入?yún)?shù)的數(shù)組。
- skip
跳過前 2 條記錄。
- limit
每頁返回 3 條記錄
- sort()
sort()方法對返回記錄集按照指定字段進(jìn)行排序返回,1 表示升序,-1 表示降序。
- count()
count()方法返回查詢記錄的總數(shù)目。
?
Remove?????????????????????????????????????????????????????????????????????????????????????
?
Update?????????????????????????????????????????????????????????????????????????????????????
- update()
參數(shù)說明:
Criteria:用于設(shè)置查詢條件的對象
Objnew:用于設(shè)置更新內(nèi)容的對象
Upsert:如果記錄已經(jīng)存在,更新它,否則新增一個(gè)記錄
Multi:如果有多個(gè)符合條件的記錄,全部更新
注意:默認(rèn)情況下,只會(huì)更新第一個(gè)符合條件的記錄
- save()
如果存在更新它,如果不存在,新增記錄。
- $inc
增加1,對int等有效。
對一個(gè)_id=3 的 user 的年齡進(jìn)行加 1,兩種方法。
- $set
把 field 的值設(shè)置成 value,當(dāng) field 不存在時(shí),增加一個(gè)字段,類似 SQL 的 set 操作,value 支持所有類型。
- $unset
????? 刪除給定的字段 field。
- $push
如果 filed 是一個(gè)已經(jīng)存在的數(shù)組,那么把 value 追加給 field;
如果 field 原來不存在,那么新增 field 字段,把 value 的值賦給 field;
如果 field 存在,但是不是一個(gè)數(shù)組,將會(huì)出錯(cuò)。
- $pushAll
功能同$push,只是這里的 value 是數(shù)組,相當(dāng)于對數(shù)組里的每一個(gè)值進(jìn)行$push操作。
- $addToSet
如果 filed 是一個(gè)已經(jīng)存在的數(shù)組,并且 value 不在其中,那么把 value 加入到數(shù)組;
如果 filed 不存在,那么把 value 當(dāng)成一個(gè)數(shù)組形式賦給 field;$pop
如果 field 是一個(gè)已經(jīng)存在的非數(shù)組類型,那么將會(huì)報(bào)錯(cuò)。
- $pop
刪除數(shù)組中最后一個(gè)元素
{ $pop : { field : -1 } }刪除數(shù)組中第一個(gè)元素
- $pull
如果 field 是一個(gè)數(shù)組,那么刪除符合_value 檢索條件的記錄;
如果 field 是一個(gè)已經(jīng)存在的非數(shù)組,那么會(huì)報(bào)錯(cuò)。
- $pullAll
- $rename
重命名指定的字段名稱。
?
?
轉(zhuǎn)載請注明出處:http://www.cnblogs.com/yydcdut/p/3557414.html
轉(zhuǎn)載于:https://www.cnblogs.com/yydcdut/p/3557414.html
總結(jié)
以上是生活随笔為你收集整理的MongoDB学习笔记(一)--基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 联想小新Pad Pro 2022屏幕核心
- 下一篇: 卡普空十大畅销游戏公布:《怪猎:世界》第