欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

定義

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

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

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

行為

  • 自mongodb5.0開(kāi)始,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)文章

  • 如何去掉保存mongodb數(shù)據(jù)時(shí)出現(xiàn)的_class字段

    如何去掉保存mongodb數(shù)據(jù)時(shí)出現(xiàn)的_class字段

    這篇文章主要給大家介紹了如何去掉保存mongodb數(shù)據(jù)時(shí)出現(xiàn)的_class字段,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • MongoDB中javascript腳本編程簡(jiǎn)介和入門實(shí)例

    MongoDB中javascript腳本編程簡(jiǎn)介和入門實(shí)例

    作為一個(gè)數(shù)據(jù)庫(kù),MongoDB有一個(gè)很大的優(yōu)勢(shì)——它使用js管理數(shù)據(jù)庫(kù),所以也能夠使用js腳本進(jìn)行復(fù)雜的管理——這種方法非常靈活
    2014-04-04
  • 使用Node操作MongoDB數(shù)據(jù)庫(kù)的方法

    使用Node操作MongoDB數(shù)據(jù)庫(kù)的方法

    這篇文章主要介紹了使用Node操作MongoDB數(shù)據(jù)庫(kù)的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Mongodb實(shí)戰(zhàn)之全文搜索功能

    Mongodb實(shí)戰(zhàn)之全文搜索功能

    全文檢索對(duì)每一個(gè)詞建立一個(gè)索引,指明該詞在文章中出現(xiàn)的次數(shù)和位置,當(dāng)用戶查詢時(shí),檢索程序就根據(jù)事先建立的索引進(jìn)行查找,并將查找的結(jié)果反饋給用戶的檢索方式。下面這篇文章主要給大家介紹了Mongodb全文搜索功能的相關(guān)資料,需要的朋友可以參考下。
    2017-07-07
  • mongose 模糊檢索實(shí)現(xiàn)方法示例詳解

    mongose 模糊檢索實(shí)現(xiàn)方法示例詳解

    這篇文章主要為大家介紹了mongose 模糊檢索實(shí)現(xiàn)方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 詳解Mongodb?多文檔聚合操作處理方法(Map-reduce?函數(shù))

    詳解Mongodb?多文檔聚合操作處理方法(Map-reduce?函數(shù))

    這篇文章主要介紹了Mongodb多文檔聚合操作處理方法(Map-reduce函數(shù)),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • CentOS8?安裝MongoDB?本地連接的操作方法

    CentOS8?安裝MongoDB?本地連接的操作方法

    MongoDB 是一個(gè)由 C++ 語(yǔ)言編寫的基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的,這篇文章主要介紹了CentOS8?安裝MongoDB?本地連接,需要的朋友可以參考下
    2022-11-11
  • MongoDB學(xué)習(xí)之Text Search文本搜索功能

    MongoDB學(xué)習(xí)之Text Search文本搜索功能

    這篇文章主要給大家介紹了MongoDB之Text Search文本搜索功能的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-05-05
  • 基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)類型和$type操作符詳解

    基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)類型和$type操作符詳解

    下面小編就為大家?guī)?lái)一篇基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)類型和$type操作符詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • 深入了解MongoDB 分布式集群

    深入了解MongoDB 分布式集群

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

最新評(píng)論