成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

mongoexport帶過濾條件導出

IT那活兒 / 3370人閱讀
mongoexport帶過濾條件導出
點擊上方“IT那活兒”,關注后了解更多內容,不管IT什么活兒,干就完了?。?!



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



CSV數據報錯
某日,接客戶反饋使用Mongoexport導出CSV數據報錯,如下圖:
導出命令是:
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
看到報錯信息,我首先想到的就是查詢子句寫錯了,但是當我將子查詢放到數據庫里面查詢時并沒有報錯。
此時,我一臉懵逼,仔細檢查了符號之類的也沒有問題。問了度娘,基本上所有的說法都是什么加雙引號轉義之類的,一一嘗試之后報錯依舊。
通過仔細查詢官方文檔,發(fā)現如下提示:

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



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

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




END




本文作者:劉運彬

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

??

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

轉載請注明本文地址:http://systransis.cn/yun/129524.html

相關文章

  • mongodb 備份、還原、導入、導出簡單操作

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

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

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

    lakeside 評論0 收藏0
  • MongoDB備份與恢復

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

    2450184176 評論0 收藏0
  • mongo備份

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

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

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

    Jiavan 評論0 收藏0
  • mongodb數據庫的導出備份

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

    robin 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

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