MongoDB中的數據導出為excel CSV 文件


 

1、打開命令行,進入我們所安裝的mongodb路徑下的bin文件夾

2、我們采用bin文件夾下的mongoexport方法進行導出, 

1
mongoexport -d myDB -c user -f _id,name,password,adress --csv -o ./user.csv
  1. -d  標示 數據庫  
  2.  -c   標示  數據表  
  3.  -f   需要提取的field用逗號分隔  
  4.  -o  輸出路徑  

 

 

ongoexport query with using date

Sometimes we might want to export only a specific part of our collection with query support of mongoexport.

Suppose this is our notebook collection, and each document refers to a notebook with their production date.

{ "_id" : ObjectId("531ce460000000019b9643bc"), "company" : "Samsung", "date" : ISODate("2014-03-09T22:00:00Z"), "price" : 2000, "brand" : "Ultrabook", } { "_id" : ObjectId("531ce460000000019b9643ba"), "company" : "Sony", "date" : ISODate("2014-03-08T22:00:00Z"), "price" : 1500, "brand" : "Vaio", } { "_id" : ObjectId("531ce460000000019b9643bd"), "company" : "Apple", "date" : ISODate("2014-03-07T22:00:00Z"), "price" : 2250, "brand" : "MacbookPro", } { "_id" : ObjectId("531ce460000000019b9643be"), "company" : "Apple", "date" : ISODate("2014-03-06T22:00:00Z"), "price" : 1200, "brand" : "MacbookAir", } { "_id" : ObjectId("531ce460000000019b9643bf"), "company" : "Samsung", "date" : ISODate("2014-03-05T22:00:00Z"), "price" : 1000, "brand" : "Ultrabook", }

The original way of mongoexport is defined by

mongoexport --db <database> --collection <collection> --query <JSON query> --out <file>

The major problem is we can not use ISODate(“”) objects to represent dates within a query, so that we have to convert each of them object into a Date object.

For instance; if we try to find the notebooks produced between 2014-03-09T22:00:00Z and 2014-03-07T22:00:00Z by Apple with the given query; 

mongoexport --db test --collection notebooks --query  '{ company:"Apple", date: { $lt: ISODate("2014-03-09T22:00:00Z") , $gte: ISODate("2014-03-07T22:00:00Z")} }' --out example.json

we will probably have an error like;

ERROR: too many positional options

There are two common ways to convert ISODates into Date objects which are;

    • we can use a simple javascript in mongo shell like;
var a = ISODate('2014-03-10T22:00:00Z');
a.getTime()

Now we have correct Date times to use them in our query.

mongoexport --db test --collection notebooks --query  "{ company:"Apple", date: { $lt: new Date(1394402400000) , $gte: new Date(1394229600000)} }" --out example.json

Finally, we will have a json file (example.json) in our current directory which includes only one document which is;

{ "_id" : ObjectId("531ce460000000019b9643bd"), "company" : "Apple", "date" : ISODate("2014-03-07T22:00:00Z"), "price" : 2250, "brand" : "MacbookPro", }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM