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

MongoDB聚合運(yùn)算符$toBool詳解

 更新時(shí)間:2024年05月05日 11:49:30   作者:原子星  
$toBool聚合運(yùn)算符將指定的值轉(zhuǎn)換為布爾類型boolean,這篇文章主要介紹了MongoDB聚合運(yùn)算符:$toBool的相關(guān)知識(shí),需要的朋友可以參考下

MongoDB聚合運(yùn)算符:$toBool

$toBool聚合運(yùn)算符將指定的值轉(zhuǎn)換為布爾類型boolean。

語法

{
   $toBool: <expression>
}

$toBool接受任何有效的表達(dá)式。

$toBool$convert表達(dá)式的簡(jiǎn)寫形式:

{ $convert: { input: <expression>, to: "bool" } }

使用

下表列出了可轉(zhuǎn)換為布爾值的類型:

輸入類型規(guī)則
Array返回ture
Binary dataReturns true
Boolean直接返回
Code返回true
Date返回true
Decimal0返回false,非0返回true
Double0返回false,非0返回true
Integer0返回false,非0返回true
JavaScript返回true
Long0返回false,非0返回true
MaxKey返回true
MinKey返回true
Null返回null
Object返回true
ObjectId返回true
Regular expression返回true
String返回true
Timestamp返回true

下表列出了一些轉(zhuǎn)換為布爾值的示例:

示例結(jié)果
{$toBool: false}false
{$toBool: 1.99999}true
{$toBool: NumberDecimal("5")}true
{$toBool: NumberDecimal("0")}false
{$toBool: 100}true
{$toBool: ISODate("2018-03-26T04:38:28.044Z")}true
{$toBool: "false"}true
{$toBool: ""}true
{$toBool: null}null

舉例

使用下面的腳本創(chuàng)建orders集合:

db.orders.insertMany( [
   { _id: 1, item: "apple",  qty: 5, shipped: true },
   { _id: 2, item: "pie",  qty: 10, shipped: 0  },
   { _id: 3, item: "ice cream", shipped: 1 },
   { _id: 4, item: "almonds", qty: 2, shipped: "true" },
   { _id: 5, item: "pecans", shipped: "false" },  //注意:所有的字符串都轉(zhuǎn)換為true
   { _id: 6, item: "nougat", shipped: ""  }       //注意:所有的字符串都轉(zhuǎn)換為true
] )

下面是對(duì)訂單集合orders的聚合操作,先將已發(fā)貨的訂單shipped轉(zhuǎn)換為布爾值,然后再查找未發(fā)貨的訂單:

//定義shippedConversionStage階段,添加轉(zhuǎn)換后的發(fā)貨標(biāo)志字段`convertedShippedFlag`
//因?yàn)樗械淖址紩?huì)被轉(zhuǎn)換為true,所以要對(duì)字符串"false"做個(gè)特殊處理
shippedConversionStage = {
   $addFields: {
      convertedShippedFlag: {
         $switch: {
            branches: [
              { case: { $eq: [ "$shipped", "false" ] }, then: false } ,
              { case: { $eq: [ "$shipped", "" ] }, then: false }
            ],
            default: { $toBool: "$shipped" }
        }
      }
   }
};
// 定義文檔過濾階段,過濾出沒有發(fā)貨的訂單
unshippedMatchStage = {
   $match: { "convertedShippedFlag": false }
};
db.orders.aggregate( [
  shippedConversionStage,
  unshippedMatchStage
] )

執(zhí)行的結(jié)果為:

{ "_id" : 2, "item" : "pie", "qty" : 10, "shipped" : 0, "convertedShippedFlag" : false }
{ "_id" : 5, "item" : "pecans", "shipped" : "false", "convertedShippedFlag" : false }
{ "_id" : 6, "item" : "nougat", "shipped" : "", "convertedShippedFlag" : false }

到此這篇關(guān)于MongoDB聚合運(yùn)算符:$toBool的文章就介紹到這了,更多相關(guān)MongoDB聚合運(yùn)算符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MongoDB實(shí)現(xiàn)問卷/考試設(shè)計(jì)功能

    MongoDB實(shí)現(xiàn)問卷/考試設(shè)計(jì)功能

    MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由C++語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。。本文給大家分享MongoDB實(shí)現(xiàn)問卷/考試設(shè)計(jì),需要的朋友可以參考下
    2019-11-11
  • Java操作mongodb的模糊查詢和精確查詢

    Java操作mongodb的模糊查詢和精確查詢

    這篇文章主要介紹了Java操作mongodb的模糊查詢和精確查詢,使用regex關(guān)鍵字實(shí)現(xiàn)模糊查詢操作,具體實(shí)現(xiàn)代碼大家參考下本文
    2017-11-11
  • MongoDB用Mongoose得到的對(duì)象不能增加屬性完美解決方法(兩種)

    MongoDB用Mongoose得到的對(duì)象不能增加屬性完美解決方法(兩種)

    本文給大家分享兩種解決方案解決MongoDB用Mongoose得到的對(duì)象不能增加屬性問題,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2017-11-11
  • MongoDB使用小結(jié):一些不常見的經(jīng)驗(yàn)分享

    MongoDB使用小結(jié):一些不常見的經(jīng)驗(yàn)分享

    最近一年忙碌于數(shù)據(jù)處理相關(guān)的工作,跟MongoDB打交道極多,以下為實(shí)踐過程中的Q&A,后續(xù)會(huì)不定期更新補(bǔ)充
    2017-03-03
  • MongoDB 學(xué)習(xí)筆記

    MongoDB 學(xué)習(xí)筆記

    最近在學(xué)習(xí)MongoDB,小結(jié)一下,主要都是一些基礎(chǔ)知識(shí),需要的朋友可以參考下
    2014-07-07
  • 使用Locust對(duì)MongoDB進(jìn)行負(fù)載測(cè)試的操作步驟

    使用Locust對(duì)MongoDB進(jìn)行負(fù)載測(cè)試的操作步驟

    Locust是一款使用Python開發(fā)的開源性能測(cè)試工具,支持分布式,可在多臺(tái)主機(jī)上對(duì)系統(tǒng)持續(xù)發(fā)送請(qǐng)求,本文給大家介紹了使用Locust對(duì)MongoDB進(jìn)行負(fù)載測(cè)試的操作步驟,文中通過圖文結(jié)合的方式介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • Mongodb 如何將時(shí)間戳轉(zhuǎn)換為年月日日期

    Mongodb 如何將時(shí)間戳轉(zhuǎn)換為年月日日期

    這篇文章主要介紹了Mongodb 如何將時(shí)間戳轉(zhuǎn)換為年月日日期,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • MongoDB高效讀寫海量數(shù)據(jù)的方法

    MongoDB高效讀寫海量數(shù)據(jù)的方法

    這篇文章介紹了MongoDB高效讀寫海量數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • MongoDB 3.6.5常見的安裝失敗原因和解決辦法

    MongoDB 3.6.5常見的安裝失敗原因和解決辦法

    在開發(fā)過程中,可能會(huì)用到 MongoDB 數(shù)據(jù)庫(kù),在進(jìn)行MongoDB的安裝過程中,可能會(huì)遇到各種各樣的問題導(dǎo)致安裝失敗,本文將針對(duì)常見的安裝失敗情況(,例如端口占用、系統(tǒng)文件問題和版本兼容問題等)進(jìn)行分析,并提供解決方案和相應(yīng)的代碼示例
    2024-03-03
  • MongoDB中方法limit和skip的使用

    MongoDB中方法limit和skip的使用

    這篇文章主要給大家介紹了關(guān)于MongoDB中方法limit和skip的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論

印江| 上高县| 平昌县| 南宁市| 彭山县| 阿克苏市| 永定县| 开平市| 蒲城县| 泗洪县| 阿合奇县| 佛坪县| 密云县| 华池县| 北辰区| 宽城| 鄂托克旗| 慈利县| 武夷山市| 楚雄市| 虎林市| 澄迈县| 江津市| 鲁山县| 无棣县| 崇文区| 儋州市| 确山县| 陵川县| 峨边| 永平县| 容城县| 安仁县| 和顺县| 会昌县| 彭水| 通渭县| 九江县| 延边| 忻城县| 麦盖提县|