亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MongoDB > 正文

MongoDB常用的數據類型有哪一些?如何操作?

2024-09-07 00:22:27
字體:
來源:轉載
供稿:網友
        MongoDB常用數據類型有哪些?這個問題對于剛接觸MongoDB數據庫的朋友來說可能不是和清楚,下面小編就給大家介紹一下關于MongoDB常用的數據類型以及基本操作,感興趣的朋友就繼續往下看吧。
 
        NO.1 MongoDB的常用數據類型
        MongoDB中的文檔類似json,我們知道,在json中,最常用的數據類型有null、bool、數組、字符串、數據、json對象等等。相對比較少,比如對于時間類型的數據,json是無法表示的,而MongoDB中對json進行了簡單的優化,像json,但是又不是json。下面我們慢慢說
 
        MongoDB的常用數據類型和MySQL比較像,你可以對比著看。它的常用數據類型有:
 
        1、null
        用于表示空值或者不存在的字段
 
        {"x":null}
 
        2、bool
        這個容易理解,true or false
 
        {"x":true}
 
        3、整數
        在MongoDB自帶的shell中不可用,shell中的需要使用函數來表示整數,如下:
 
        {"x":NumberInt("3")}
 
        如果我們寫成
 
        {"x":3}
 
        這里的3會被表示成double。
 
        4、字符串
        最常用的數據類型
 
        {"x":"string"}
 
        5、對象id
        對象id是12字節的唯一ID
 
        {"x":ObjectId()}
 
        在MongoDB的數據記錄里面,也就是文檔里面,必須有一個_id鍵,這個_id鍵你可以簡單理解為唯一標識,類似MySQL中的自增主鍵,但是它一般不設置成自增的,因為在分布式環境中,同步自動增加主鍵值既費時又費力,MongoDB為了保證分布式場景下的性能,通過自身生成方式來產生_id,_id的類型,稱之為ObjectId類型。
 
        該類型使用12字節的存儲空間,每個字節里面是2位16進制的數字,是一個24位的字符串。這12個字節的生成方式如下:
 
        0、1、2、3位是時間戳,提供秒級別唯一性
 
        4、5、6位是機器的唯一標識符,提供機器級別唯一性
 
        7、8位是當前生成ObjectId的進程標識符,保證不同進程的唯一性
 
        9、10、11位是一個計數器,保證同一秒相同進程產生的ObjectId的唯一性。
 
        6、日期類型
        日期類型存儲的是從標準紀元開始的毫秒數,不存儲時區。
 
        {"x":new Data()}
 
        示例如下:
 
> db.num.insert({"age": new Date()})
WriteResult({ "nInserted" : 1 })
> db.num.find()
{ "_id" : ObjectId("5f96b5e15e5c5ff982b9c6af"), "age" : 28 }
{ "_id" : ObjectId("5f9835d0f24f04e23fb63878"), "age" : 3 }
{ "_id" : ObjectId("5f983621f24f04e23fb63879"), "age" : 3 }
{ "_id" : ObjectId("5f9838d2f24f04e23fb6387a"), "age" : ISODate("2020-10-27T15:12:18.739Z") }
        7、數組
        值的集合或者列表可以表示成數組
 
        {"x":["a","b","c"]}
 
        8、內嵌文檔
        文檔可以包含別的文檔
 
        {"x":{"foo":"bar"}}
 
        9、代碼
        文檔中可以包含JavaScript代碼
 
        {"x":function(){/*-----*/}}
 
        NO.2 集合文檔的基本操作
        這塊兒可能是比較關鍵的部分了,在MySQL中,增刪改查是最最基礎的功能,在MongoDB中,這些技能也是必備的。
 
        集合相關操作
        1、查詢集合
        查看當前數據庫下面的集合,可以使用show collections命令。
 
        2、創建集合
        在MongoDB中,不需要單獨創建集合,一般情況下,只要我們直接將文檔插入到集合中,就可以看到集合自動生成了,舉個例子:
 
> show collections # 查看集合
num
person
 
> db.aaa.insert({"name":"yeyz"})
WriteResult({ "nInserted" : 1 })
 
> show collections #查看集合,發現aaa這個集合生成了
aaa
num
person
        3、刪除集合
> show collections
aaa
num
person
>
> db.aaa.drop() #刪除集合
true
> show collections
num
person
        關于集合,最常見的操作就是上面幾個。查詢集合、創建集合、刪除集合。
 
        再來看文檔相關的操作:
        1、插入文檔
        上面的例子中,我們使用insert操作已經演示了插入文檔的方法。我把兩種常見的方法寫在一起:
 
方法一:直接插入文檔
> db.aaa.insert({"name":"yeyz"})
WriteResult({ "nInserted" : 1 })
 
方法二:將文檔保存在變量里面,插入變量
> record={"name":"zhangsan"}
{ "name" : "zhangsan" }
> db.aaa.insert(record)
WriteResult({ "nInserted" : 1 })
 
查找集合所有內容
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }
{ "_id" : ObjectId("5f983ba1f24f04e23fb6387d"), "name" : "zhangsan" }
        2、查詢文檔
        查詢文檔的方法比較多,展開來說可以說很久,就像我們的SQL語法一樣,有各種各樣的寫法,這里先說下最簡單的,查找所有對象、查找一條對象,或者查找某一條對象的方法??蠢樱?br /> 
#查找所有記錄
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }
{ "_id" : ObjectId("5f983ba1f24f04e23fb6387d"), "name" : "zhangsan" }
>
>
#查找一條記錄
> db.aaa.findOne()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }
 
#帶過濾條件的,查找name=zhangsan的記錄
> db.aaa.find({"name":"zhangsan"})
{ "_id" : ObjectId("5f983ba1f24f04e23fb6387d"), "name" : "zhangsan" }
        3、刪除記錄
        刪除記錄的方法也比較簡單,如下:
 
#查找所有記錄
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }
{ "_id" : ObjectId("5f983ba1f24f04e23fb6387d"), "name" : "zhangsan" }
 
#刪除name=zhangsan的記錄
> db.aaa.remove({"name":"zhangsan"})
WriteResult({ "nRemoved" : 1 })
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }
 
# 僅剩name=yeyz的一條記錄
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }
        如果不想要過濾條件,可以直接使用:
 
        db.aaa.remove()來刪除所有的記錄。
 
        4、更新記錄
        更新記錄,在MongoDB中有些麻煩,例如下面的場景
 
#查找所有記錄
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }
{ "_id" : ObjectId("5f983d76f24f04e23fb6387e"), "name" : "zhangsan" }
 
#用一個變量表示要修改的文檔
> record={"name" : "yeyz","age":18}
{ "name" : "yeyz", "age" : 18 }
 
#用剛才的變量替換匹配條件的結果
> db.aaa.update({"name" : "yeyz"},record)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
 
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz", "age" : 18 }
{ "_id" : ObjectId("5f983d76f24f04e23fb6387e"), "name" : "zhangsan" }
 
# 修改變量的age屬性
> record.age=20
20
 
#再次替換原來的文檔
> db.aaa.update({"name" : "yeyz"},record)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz", "age" : 20 }
{ "_id" : ObjectId("5f983d76f24f04e23fb6387e"), "name" : "zhangsan" }
        上面的方法在條件唯一匹配的時候不會有問題,但是在條件不唯一匹配的場景下,可能存在一些隱患,下次我們再分享,今天就先這么點兒吧。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线观看网址| 精品久久久国产精品999| 久久天天躁狠狠躁夜夜爽蜜月| 欧美电影电视剧在线观看| 国模精品视频一区二区| 欧美乱大交做爰xxxⅹ性3| 亚洲精品动漫久久久久| 欧美大秀在线观看| 一本色道久久综合亚洲精品小说| 午夜精品美女自拍福到在线| 日韩在线中文视频| 久久99精品久久久久久噜噜| 欧美精品www在线观看| 国产精品网站入口| 亚洲精品国产综合区久久久久久久| 亚洲国产精品久久久久秋霞不卡| 亚洲精品日韩久久久| 国产欧美最新羞羞视频在线观看| 国产精品视频白浆免费视频| 亚洲成色777777女色窝| 国内精品久久久久久中文字幕| 日韩av电影手机在线观看| 国产视频精品免费播放| 久久久噜久噜久久综合| 18一19gay欧美视频网站| 国产精品成人av性教育| 国产精品一区二区久久久久| 国产极品精品在线观看| 亚洲国产女人aaa毛片在线| 黑人巨大精品欧美一区二区| 亚洲精品一区中文字幕乱码| 久久综合久久八八| 国模精品视频一区二区| 日韩欧美在线视频日韩欧美在线视频| 国产精品流白浆视频| 草民午夜欧美限制a级福利片| 久久久久久国产精品三级玉女聊斋| 97在线免费观看视频| 日本一区二区在线免费播放| 日韩av免费在线观看| 午夜精品视频在线| 亚洲欧美日韩国产中文专区| 欧美高跟鞋交xxxxxhd| 亚洲护士老师的毛茸茸最新章节| 欧美自拍视频在线| 欧美性资源免费| 国产成人精品日本亚洲专区61| 国产成人在线精品| 中文字幕免费精品一区| 中文字幕亚洲综合久久筱田步美| 久久久免费观看| 欧美性猛交xxxx黑人猛交| 久久99国产精品自在自在app| 国产精品电影一区| 国产日韩欧美成人| 久久伊人精品天天| 精品国产自在精品国产浪潮| 欧美成人激情视频免费观看| 欧美大片大片在线播放| 成人av色在线观看| 精品美女永久免费视频| 亚洲无线码在线一区观看| 日韩av中文字幕在线免费观看| 中文字幕在线日韩| 国产精品国产亚洲伊人久久| 欧美理论电影在线观看| 7777精品久久久久久| 欧美一级淫片播放口| 亚洲国产免费av| 亚洲娇小xxxx欧美娇小| 国产伦精品一区二区三区精品视频| 国产日产欧美精品| 亚洲一区二区免费在线| 亚洲黄色在线看| 欧美制服第一页| 久久综合久久88| 国产精品日韩在线| 91高清在线免费观看| 国产精品爽爽ⅴa在线观看| 中文字幕久久精品| 91午夜在线播放| 精品伊人久久97| 久久福利视频网| 精品在线欧美视频| 欧美韩日一区二区| 亚洲欧美日韩图片| 久久久女女女女999久久| 国产欧美久久一区二区| 国产视频精品免费播放| 992tv成人免费影院| 日韩亚洲成人av在线| 国产精品久久91| 精品久久久久久久久久久久久久| 91久久国产婷婷一区二区| 欧美一区二区三区精品电影| 丰满岳妇乱一区二区三区| 久久久综合免费视频| 国产日韩欧美一二三区| 国产成人精品日本亚洲| 亚洲无av在线中文字幕| 欧美主播福利视频| 国产亚洲美女久久| 久久精品欧美视频| 久久免费成人精品视频| 成人黄色激情网| 亚洲aⅴ日韩av电影在线观看| www.日韩视频| 精品久久久久久久久久国产| 7777精品久久久久久| 久久精品小视频| 欧美大片免费观看在线观看网站推荐| 国产精品视频专区| 国产在线一区二区三区| 亚洲国产成人久久综合一区| 国产亚洲aⅴaaaaaa毛片| 日韩欧美福利视频| 国内精品400部情侣激情| 久久久久久高潮国产精品视| 国产精品久久久久久久久久小说| 尤物九九久久国产精品的分类| 91中文字幕一区| www.日韩视频| 美乳少妇欧美精品| 91精品国产色综合久久不卡98| 91精品国产自产在线观看永久| 在线观看亚洲区| 91精品久久久久久久久久久久久久| 456国产精品| 久久人人爽人人爽人人片av高请| 国产一区二中文字幕在线看| 亚洲中国色老太| 亚洲人成在线免费观看| 亚洲免费中文字幕| 亚洲在线视频福利| 日韩精品免费在线视频观看| 国产欧美日韩视频| 欧美中文字幕视频| 久久91亚洲人成电影网站| 97国产suv精品一区二区62| 久久国产精品亚洲| 亚洲国产精品视频在线观看| 日韩欧美中文免费| 亚洲丝袜一区在线| 中文字幕亚洲综合久久筱田步美| 亚洲变态欧美另类捆绑| 2019中文字幕在线观看| 欧美激情在线播放| www.美女亚洲精品| 欧美精品video| 三级精品视频久久久久| 日韩精品免费在线观看| 亚洲精品电影久久久| 国产精品∨欧美精品v日韩精品| 成人免费看片视频| 精品国产91久久久久久老师| 亚洲天堂男人的天堂| 久久理论片午夜琪琪电影网| 亚洲国产精品网站| 中文字幕日本欧美| 国产精品mp4| 国产精品久久久久免费a∨| 91chinesevideo永久地址| 伊人精品在线观看| 亚洲欧美精品在线|