最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mongodb在UPDATE操作中使用$push向數(shù)組中插入數(shù)據(jù)的方法

 更新時(shí)間:2024年06月17日 09:48:19   投稿:mrr  
在update操作中,使用$push操作符向數(shù)組中插入新的元素,按照相應(yīng)的語(yǔ)法,使用$push操作符,下面通過本文給大家分享Mongodb在UPDATE操作中使用$push向數(shù)組中插入數(shù)據(jù)的方法,感興趣的朋友一起看看吧

學(xué)習(xí)mongodb,體會(huì)mongodb的每一個(gè)使用細(xì)節(jié),歡迎閱讀威贊的文章。這是威贊發(fā)布的第69篇mongodb技術(shù)文章,歡迎瀏覽本專欄威贊發(fā)布的其他文章。如果您認(rèn)為我的文章對(duì)您有幫助或者解決您的問題,歡迎在文章下面點(diǎn)個(gè)贊,或者關(guān)注威贊。謝謝。

定義

在update操作中,使用$push操作符向數(shù)組中插入新的元素。按照下面的語(yǔ)法,使用$push操作符

{$push: {<field1>: <value1>, ...}}

當(dāng)向嵌入式文檔或數(shù)組中的數(shù)組字段插入元素時(shí),使用點(diǎn)操作符。

行為

  • 自mongodb5.0開始,UPDATE操作按照字段名稱的字典順序更新字段。當(dāng)字段中包含數(shù)字時(shí),按照數(shù)字順序依次更新字段。當(dāng)然,對(duì)一個(gè)文檔的多個(gè)字段操作,是原子性的。
  • 使用$push向文檔不存在的字段插入元素時(shí),update操作向文檔中插入該字段并將$push中的指定值賦給新增加的字段。
  • 使用$push向非數(shù)組字段添加新的元素,數(shù)據(jù)更新操作會(huì)失敗。
  • 向指定字段使用$push插入數(shù)組時(shí),Mongodb的數(shù)據(jù)更新操作將即將插入的數(shù)組作為整體,插入到目標(biāo)數(shù)組當(dāng)中。如果用戶計(jì)劃使用$push插入指定數(shù)組的每一個(gè)元素,需要使用$each操作符。
  • mongodb 5.0版本以后,向$push傳入空表達(dá)式({ })時(shí),mongodb不再拋出錯(cuò)誤??毡磉_(dá)式不會(huì)修改字段值 ,也不會(huì)在oplog中,添加新的操作記錄。
  • Mongodb提供了幾個(gè)可以與$push搭配使用的數(shù)據(jù)操作符

操作符

描述

$each

向指定數(shù)組一次性添加多個(gè)元素

$slice

限制操作數(shù)組的容量,需要和$each操作符搭配使用

$sort

對(duì)指定數(shù)組進(jìn)行排序,需要和$each操作符搭配使用

$position

指定新元素在數(shù)組中插入的位置,需要和$each操作符搭配使用。默認(rèn)新的元素插入到數(shù)組的結(jié)尾

當(dāng)執(zhí)行$push操作時(shí),當(dāng)用戶指定對(duì)數(shù)組排序或限制數(shù)組長(zhǎng)度時(shí),update按照下面的順序執(zhí)行$push操作。

應(yīng)用

創(chuàng)建students集合并插入數(shù)據(jù)

db.students.insertOne({_id:1,scores: [44,78,38,80]})

向數(shù)組中插入元素

db.students.updateOne({_id:1},{$push: {scores: 89}})

將指定數(shù)值插入多個(gè)文檔的數(shù)組字段中

向students集合插入新文檔

db.students.insertMany([
    {_id:2,scores: [45,78,38,80,89]},
    {_id:3,scores: [46,78,38,80,89]},
    {_id:4,scores: [47,78,38,80,89]},
])

構(gòu)建UPDATE語(yǔ)句,向students所有文檔的scores字段插入新值95

db.students.updateMany({},{$push: {scores: 95}})

向數(shù)組中插入多個(gè)數(shù)值

在$push中使用$each操作符,將多個(gè)值插入數(shù)組中。

db.students.updateOne({_id:1},{$push: {scores: {$each: [90, 92, 85]}}})

在$push操作符中使用多個(gè)數(shù)組更新操作符

向students集合中插入文檔

db.students.insertMany([
    {_id:5, quizzes: [
        {wk:1, score: 10},
        {wk:2, score: 8},
        {wk:3, score: 5},
        {wk:4, score: 6}
    ]}
])

構(gòu)建數(shù)據(jù)更新語(yǔ)句,完成下面幾個(gè)操作

  • 使用$each操作符,向quizzes字段插入多個(gè)元素
  • 按照score倒序?qū)uizzes中的元素進(jìn)行排列
  • 使用$slice限制quizzes數(shù)組的容量,保留排序后前面3個(gè)元素
db.students.updateOne(
    {_id:5},
    {
        $push: {
            quizzes: {
                $each: [
                    {wk:5, score: 8},
                    {wk:6, score: 7}, 
                    {wk:7, score: 6}
                ],
                $sort: {score: -1},
                $slice: 3
            }
        }
    }
)

到此這篇關(guān)于Mongodb在UPDATE操作中使用$push向數(shù)組中插入數(shù)據(jù)的方法的文章就介紹到這了,更多相關(guān)Mongodb使用$push向數(shù)組中插入數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot整合redis及mongodb的詳細(xì)過程

    SpringBoot整合redis及mongodb的詳細(xì)過程

    這篇文章主要介紹了SpringBoot整合redis及mongodb,本節(jié)我們來把關(guān)注點(diǎn)轉(zhuǎn)向NoSQL,文章結(jié)合示例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • Centos7 yum安裝mongodb實(shí)現(xiàn)步驟詳解

    Centos7 yum安裝mongodb實(shí)現(xiàn)步驟詳解

    這篇文章主要介紹了Centos7 yum安裝mongodb實(shí)現(xiàn)步驟詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 關(guān)于NoSQL之MongoDB的一些總結(jié)

    關(guān)于NoSQL之MongoDB的一些總結(jié)

    這篇文章主要介紹了關(guān)于NoSQL之MongoDB的一些總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2015-07-07
  • 深入了解MongoDB 分布式集群

    深入了解MongoDB 分布式集群

    這篇文章主要介紹了MongoDB 分布式集群的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • MongoDB4.2.5安裝方法操作步驟

    MongoDB4.2.5安裝方法操作步驟

    這篇文章主要介紹了MongoDB4.2.5安裝方法操作步驟,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • MongoDB分片鍵的選擇和案例實(shí)例詳解

    MongoDB分片鍵的選擇和案例實(shí)例詳解

    分片集群中良好的查詢性能都依賴于正確選擇分片鍵。下面這篇文章主要給大家介紹了關(guān)于MongoDB分片鍵的選擇和案例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • MongoDB中的MapReduce簡(jiǎn)介

    MongoDB中的MapReduce簡(jiǎn)介

    這篇文章主要介紹了MongoDB中的MapReduce簡(jiǎn)介,MapReduce是一種計(jì)算模型,簡(jiǎn)單的說就是將大批量的工作(數(shù)據(jù))分解(MAP)執(zhí)行,然后再將結(jié)果合并成最終結(jié)果(REDUCE),需要的朋友可以參考下
    2015-05-05
  • Centos系統(tǒng)搭建MongoDB數(shù)據(jù)庫(kù)

    Centos系統(tǒng)搭建MongoDB數(shù)據(jù)庫(kù)

    這篇文章介紹了Centos系統(tǒng)搭建MongoDB數(shù)據(jù)庫(kù)的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • mongodb 數(shù)據(jù)庫(kù)操作詳解--創(chuàng)建,切換,刪除

    mongodb 數(shù)據(jù)庫(kù)操作詳解--創(chuàng)建,切換,刪除

    mongodb是nosql里面最像關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)。單表操作,基本上可以和關(guān)系型數(shù)據(jù)庫(kù)差不多。mongodb比較易學(xué),易用,分幾期記錄一下,學(xué)習(xí)和使用mongodb過程。
    2014-07-07
  • MongoDB對(duì)數(shù)組進(jìn)行增刪改查操作

    MongoDB對(duì)數(shù)組進(jìn)行增刪改查操作

    與關(guān)系型數(shù)據(jù)庫(kù)相比,MongoDB支持?jǐn)?shù)組,將數(shù)組存儲(chǔ)到文檔之中,下面這篇文章主要給大家介紹了關(guān)于MongoDB對(duì)數(shù)組進(jìn)行增刪改查操作的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05

最新評(píng)論

昌吉市| 潼南县| 浪卡子县| 绍兴市| 沙坪坝区| 桓仁| 阳谷县| 嘉禾县| 太康县| 宣汉县| 罗源县| 桃江县| 曲阜市| 育儿| 策勒县| 莫力| 巴南区| 若尔盖县| 通城县| 本溪市| 碌曲县| 吴堡县| 习水县| 邵武市| 清水河县| 黔南| 肥城市| 新营市| 黔江区| 黎城县| 衡山县| 肇源县| 乌苏市| 洪湖市| 巴彦县| 武威市| 德州市| 日土县| 平潭县| 隆安县| 罗城|