国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

mongoexport帶過濾條件導(dǎo)出

IT那活兒 / 3347人閱讀
mongoexport帶過濾條件導(dǎo)出
點擊上方“IT那活兒”,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了!!!



mongodb數(shù)據(jù)庫
mongodb跟其他數(shù)據(jù)庫產(chǎn)品一樣,提供了數(shù)據(jù)導(dǎo)出工具,包含導(dǎo)出bson文件的mongodump和導(dǎo)出json/csv的mongoexport,并且都支持帶過濾條件導(dǎo)出數(shù)據(jù)。



CSV數(shù)據(jù)報錯
某日,接客戶反饋使用Mongoexport導(dǎo)出CSV數(shù)據(jù)報錯,如下圖:
導(dǎo)出命令是:
mongoexport -u root --authenticationDatabase=admin -d c***prod -c Vr***foDO --type=csv -f 
contentId,to**me,createdTim,t**idDa -q {$and:[{ $or: [ {contentId:{ $regex:/^6009266/}}, {contentId:{
$regex:/^6009261/}} ]} ,{createdTime : {$gte : new
Date(1610553655000)}} ]}
  -o /home/mongo/t**id_20220210.csv
看到報錯信息,我首先想到的就是查詢子句寫錯了,但是當(dāng)我將子查詢放到數(shù)據(jù)庫里面查詢時并沒有報錯。
此時,我一臉懵逼,仔細檢查了符號之類的也沒有問題。問了度娘,基本上所有的說法都是什么加雙引號轉(zhuǎn)義之類的,一一嘗試之后報錯依舊。
通過仔細查詢官方文檔,發(fā)現(xiàn)如下提示:

Extend JSON是什么鬼?為什么以前使用query條件導(dǎo)出時沒有報錯呢 ??接著往下看。
如下圖所述,從4.2版開始,mongoexport等工具必須遵循Extended JSON 2.0。
當(dāng)前我們操作的數(shù)據(jù)庫版本確實是新裝不久的4.2版,所以子查詢必須是要經(jīng)擴展JSON。



什么是擴展JSON
  1. Extend JSON包含規(guī)范擴展JSON和寬松擴展JSON兩種格式,但是不論哪種格式,JSON文檔中的所有字符串都應(yīng)有雙引號,而Mongodb的增刪改查的格式也是個json,所以也應(yīng)用雙引號包起來。
  2. 在規(guī)范的擴展JSON中,每一個數(shù)值都必須包含其字段類型,如時間數(shù)據(jù)必須是{"$date": {"$numberLong": "1610553655000"}},長整型數(shù)據(jù) {"$numberLong": 50}。
下圖摘自官方文檔
是擴展JSON兩種格式各類型數(shù)據(jù)的數(shù)據(jù)格式:

所以,綜上分析,修改本例導(dǎo)出命令的子查詢?yōu)椋?/span>
{"$and":[{ "$or": [ {"contentId":{ "$regex":"^6009266"}}, 
{"contentId":{ "$regex":"^6009261"}} ]},{"createdTime" :
{"$gte" : {"$date": {"$numberLong": "1610553655000"}}}} ]}




END




本文作者:劉運彬

本文來源:IT那活兒(上海新炬王翦團隊)

??

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/129524.html

相關(guān)文章

  • mongodb 備份、還原、導(dǎo)入、導(dǎo)出簡單操作

    摘要:還原導(dǎo)出的表數(shù)據(jù)部分字段的表數(shù)據(jù)導(dǎo)入還原文件 一、 mongodump備份數(shù)據(jù)庫 1.一般常用的備份命令格式 mongodump -h IP --port 端口 -u 用戶名 -p 密碼 -d 數(shù)據(jù)庫 -o 文件存在路徑 如果想導(dǎo)出所有數(shù)據(jù)庫,可以去掉-d 2.導(dǎo)出數(shù)據(jù)庫[root@local ~]# mongodump -h 127.0.0.1 --port 30216 -d t...

    KitorinZero 評論0 收藏0
  • 【mongoDB運維篇②】備份與恢復(fù)(導(dǎo)入與導(dǎo)出)

    摘要:導(dǎo)入導(dǎo)出可以操作的是本地的服務(wù)器也可以是遠程的服務(wù)器所以都有如下通用選項主機端口用戶名密碼導(dǎo)出庫名表名列名查詢條件導(dǎo)出的文件名導(dǎo)出格式便于和傳統(tǒng)數(shù)據(jù)庫交換數(shù)據(jù)導(dǎo)出庫下面的表從哪里導(dǎo)出導(dǎo)出的文檔數(shù)導(dǎo)出庫下 導(dǎo)入/導(dǎo)出可以操作的是本地的mongodb服務(wù)器,也可以是遠程的服務(wù)器所以,都有如下通用選項: -h host 主機 --port port 端口 -u username 用...

    lakeside 評論0 收藏0
  • MongoDB備份與恢復(fù)

    摘要:一的導(dǎo)入與導(dǎo)出導(dǎo)出工具概念中的工具可以把一個導(dǎo)出成格式或格式的文件。可以通過參數(shù)指定導(dǎo)出的數(shù)據(jù)項,也可以根據(jù)指定的條件導(dǎo)出數(shù)據(jù)。恢復(fù)工具概念是從備份中恢復(fù)數(shù)據(jù)的工具,它主要用來獲取的輸出結(jié)果,并將備份的數(shù)據(jù)插入到運行的中。 一、Mongodb的導(dǎo)入與導(dǎo)出 1.1、導(dǎo)出工具:mongoexport 概念: mongoDB中的mongoexport工具可以把一個collection導(dǎo)出成J...

    2450184176 評論0 收藏0
  • mongo備份

    摘要:轉(zhuǎn)載請注明出處原文排版地址點擊獲取更好閱讀體驗全局的備份恢復(fù)備份遷移到本機恢復(fù)掛載路徑如下將備份文件復(fù)制到這個文件夾,在進入指定集合的導(dǎo)入導(dǎo)出導(dǎo)出數(shù)據(jù)庫中指定集合的數(shù)據(jù)導(dǎo)出集合中指定字段的數(shù)據(jù),導(dǎo)出的文件格式為 轉(zhuǎn)載請注明出處 http://www.paraller.com 原文排版地址 點擊獲取更好閱讀體驗 全局的備份恢復(fù) 備份 mongodump -d yea -o /data...

    timger 評論0 收藏0
  • mongo備份筆記

    摘要:轉(zhuǎn)載請注明出處原文排版地址點擊跳轉(zhuǎn)全局的備份恢復(fù)備份遷移到本機恢復(fù)復(fù)制到這個文件夾進入進入指定集合的導(dǎo)入導(dǎo)出導(dǎo)出數(shù)據(jù)庫中指定集合的數(shù)據(jù)導(dǎo)出集合中指定字段的數(shù)據(jù),導(dǎo)出的文件格式為根據(jù)條件導(dǎo)出數(shù)據(jù) 轉(zhuǎn)載請注明出處 http://www.paraller.com 原文排版地址 點擊跳轉(zhuǎn) 全局的備份恢復(fù) 備份 mongodump -d yea -o /data/db/3.1_2017_07...

    Jiavan 評論0 收藏0
  • mongodb數(shù)據(jù)庫的導(dǎo)出備份

    摘要:進入裝有的路徑下這里有導(dǎo)出數(shù)據(jù)表后面是數(shù)據(jù)庫后面是是導(dǎo)出的文件名去文件夾下找到文件導(dǎo)出數(shù)據(jù)庫主機加端口導(dǎo)出的地址恢復(fù)數(shù)據(jù)庫 1.進入裝有mongoexport的路徑下 cd /usr/local/mongodb/bin(這里有mongoexport mongoimport mongodump mongorestore) 2.導(dǎo)出數(shù)據(jù)表 ./mongoexport -d advers...

    robin 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<