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

Mongodb UPDATE使用$sort將數(shù)組重新排序的示例代碼

 更新時間:2024年06月21日 10:55:42   作者:威贊  
$sort方法在$push操作過程中,修改數(shù)組元素的排序,$sort方法,必須和$each共同使用,mongodb允許用戶傳遞一個空的數(shù)組給$each方法,保證用戶無須向數(shù)組中插入元素也可以將數(shù)組進(jìn)行排序,本文給大家介紹了Mongodb UPDATE使用$sort將數(shù)組重新排序,需要的朋友可以參考下

本文繼續(xù)探討對文檔數(shù)組類型字段進(jìn)行更新??梢运伎计綍r是否遇到這樣的需求。數(shù)據(jù)插入數(shù)組字段后,需要對數(shù)組字段進(jìn)行排序。比如找出昨天溫度最高的幾個城市,或者降水量最多的幾個城市?;蛘叱煽冏罡叩膸讉€同學(xué)。這里都需要使用到排序。Mongodb在$push操作中,提供了$sort數(shù)據(jù)修飾符,允許用戶向數(shù)組插入元素后,對數(shù)組進(jìn)行排序。

定義

$sort方法在$push操作過程中,修改數(shù)組元素的排序。$sort方法,必須和$each共同使用。mongodb允許用戶傳遞一個空的數(shù)組給$each方法,保證用戶無須向數(shù)組中插入元素也可以將數(shù)組進(jìn)行排序。$sort方法,按照下面的形式來使用。

{
    $push: {
        <field>: {
            $each: [<value1>, <value2>, ...],
            $sort: <sort specification>
        }
    }
}

對于sort specification, 當(dāng)對非文檔數(shù)組進(jìn)行排序,或?qū)φ麄€文檔作為整體進(jìn)行排序時,正序可以指定1, 倒序可以指定為-1.當(dāng)對文檔字段進(jìn)行排序時,指定要排序的字段和排列順序。不需要添加數(shù)組字段的字段名稱。

行為

  • 自mongodb5.0開始,UPDATE操作按照字段名稱的字典順序更新字段。當(dāng)字段中包含數(shù)字時,按照數(shù)字順序依次更新字段。當(dāng)然,對一個文檔的多個字段操作,是原子性的。
  • $sort可以對數(shù)組中的文檔進(jìn)行排序。這種排序可以發(fā)生在整個文檔或者文檔的部分字段當(dāng)中。
  • $sort方法必須和$each方法共同使用,否則報錯

應(yīng)用

對數(shù)組中的文檔進(jìn)行排序

向students集合中插入數(shù)據(jù),其中quzzes是文檔數(shù)組類型字段。

db.students.insertOne(
    {
        _id:1,
        quzzes: [
            {id:1, score:6},
            {id:2, score:9}
        ]
    }
)

構(gòu)建更新語句,要求向quzzes插入數(shù)組元素,并按照score正序進(jìn)行排序。

db.students.updateOne(
    {_id:1},
    {
        $push: {
            quzzes: {
                $each: [
                    {id:3, score:8},
                    {id:4, score:7},
                    {id:5, score:6}
                ],
                $sort: {score:1}
            }
        }
    }
)

查看數(shù)據(jù)更新結(jié)果

db.students.find().pretty();
[
  {
    "_id": 1,
    "quzzes": [
      {
        "id": 1,
        "score": 6
      },
      {
        "id": 5,
        "score": 6
      },
      {
        "id": 4,
        "score": 7
      },
      {
        "id": 3,
        "score": 8
      },
      {
        "id": 2,
        "score": 9
      }
    ]
  }
]

使用$sort排列非文檔數(shù)據(jù)類型。

向students集合插入數(shù)據(jù)。其中test字段是數(shù)值類型的數(shù)組。

db.students.insertOne({
    _id:2,
    tests: [
        89,70,89, 50
    ]
})

更新插入的數(shù)據(jù), 要求插入新數(shù)據(jù)40, 60并對數(shù)組按照正序進(jìn)行排序。

db.students.updateOne({
    _id:2
},{
    $push: {
        tests: {
            $each: [40, 60],
            $sort: 1
        }
    }
})

查看數(shù)據(jù)更新結(jié)果

db.students.find()
{
    "_id": 2,
    "tests": [
      40,
      50,
      60,
      70,
      89,
      89
    ]
  }

僅使用$sort對數(shù)組進(jìn)行排序

向students集合插入數(shù)據(jù),其中tests是數(shù)值類型的數(shù)組

db.students.insertOne({
    _id:3, tests: [89, 70, 100, 20]
})

修改新插入的文檔,要求將tests字段按照倒序排序。

db.students.updateOne({
    _id:3
},{
    $push: {
        tests: {
            $each: [],
            $sort: -1
        }
    }
})

查看更新后的結(jié)果

{
    "_id": 3,
    "tests": [
      100,
      89,
      70,
      20
    ]
  }

以上就是Mongodb UPDATE使用$sort將數(shù)組重新排序的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Mongodb $sort數(shù)組重新排序的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MongoDB中UPDATE操作$pullAll的方法

    MongoDB中UPDATE操作$pullAll的方法

    與$pull有所不同,$pull操作通過指定一個查詢條件或單個值來刪除數(shù)組中的元素, 而$pullAll刪除所有在指定列表中的數(shù)組元素,本文介紹Mongodb UPDATE操作中的$pullAll, 用來從數(shù)組中刪除多個元素,感興趣的朋友一起看看吧
    2024-06-06
  • Mongodb 崩潰報錯 Too many open files的問題解析

    Mongodb 崩潰報錯 Too many open files的問題解析

    這篇文章主要介紹了Mongodb 崩潰報錯 Too many open files的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • MongoDB日常使用的技巧與注意事項匯總

    MongoDB日常使用的技巧與注意事項匯總

    這篇文章主要給大家總結(jié)介紹了關(guān)于MongoDB日常使用的一些技巧與注意事項,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • Mongodb批量刪除gridfs文件實(shí)例

    Mongodb批量刪除gridfs文件實(shí)例

    這篇文章主要介紹了Mongodb批量刪除gridfs文件實(shí)例,本文根據(jù)生產(chǎn)環(huán)境實(shí)際需求總結(jié)而來,需要的朋友可以參考下
    2015-01-01
  • Ubuntu原地升級MongoDB全過程

    Ubuntu原地升級MongoDB全過程

    MongoDB是一款非常流行的開源數(shù)據(jù)庫,但有時候我們可能需要卸載它以進(jìn)行清理或是升級,本文將詳細(xì)介紹在Ubuntu操作系統(tǒng)上如何原地升級MongoDB,需要的朋友可以參考下
    2025-10-10
  • MongoDB操作符中的$elemMatch問題

    MongoDB操作符中的$elemMatch問題

    這篇文章主要介紹了MongoDB操作符中的$elemMatch問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 在MongoDB中實(shí)現(xiàn)大于小于查詢功能

    在MongoDB中實(shí)現(xiàn)大于小于查詢功能

    MongoDB是一個高性能、開源、無模式的文檔型數(shù)據(jù)庫,它使用BSON(Binary JSON)作為存儲格式,支持豐富的查詢語法,本文將詳細(xì)介紹如何在MongoDB中實(shí)現(xiàn)大于小于查詢,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2024-08-08
  • Mongodb增加、移除Shard Server實(shí)例

    Mongodb增加、移除Shard Server實(shí)例

    這篇文章主要介紹了Mongodb增加、移除Shard Server實(shí)例,shard服務(wù)器(Shard Server).Shard服務(wù)器是存儲實(shí)際數(shù)據(jù)的分片,每個Shard可以是一個mongod實(shí)例,也可以是一組mongod實(shí)例構(gòu)成的Replica Sets,需要的朋友可以參考下
    2015-01-01
  • MongoDB 快速入門

    MongoDB 快速入門

    MongoDB 快速入門,想要學(xué)習(xí)MongoDB的朋友可以參考下。
    2011-10-10
  • MongoDB快速翻頁的方法

    MongoDB快速翻頁的方法

    這篇文章主要為大家詳細(xì)介紹了MongoDB快速翻頁的方法,通過實(shí)例學(xué)習(xí)在MongoDB中翻閱數(shù)據(jù)的不同方式,感興趣的小伙伴們可以參考一下
    2016-05-05

最新評論

台江县| 定安县| 富民县| 东辽县| 汉川市| 虞城县| 垦利县| 闽侯县| 瓦房店市| 谢通门县| 武山县| 黑龙江省| 邯郸县| 九龙城区| 长寿区| 汝阳县| 衢州市| 鹤山市| 白山市| 大庆市| 禹城市| 洪洞县| 儋州市| 会泽县| 宁蒗| 红原县| 华安县| 城市| 原平市| 城固县| 临海市| 洮南市| 鄂托克旗| 金昌市| 高安市| 牡丹江市| 平邑县| 泗洪县| 凌源市| 南阳市| 辽宁省|