下载

  • 官网下载
  • 百度云下载
    1
    2
     链接:https://pan.baidu.com/s/11ny5irw_QfdigIH8rMRDHw 
    提取码:l9sb

基础命令

  • 开机

    1
    $ mongod --dbpath C:\E\programme\MongoDB\data(为数据库地址)
  • 开机之后,可以通过新的 cmd 链接数据库。

    1
    2
    3
    4
    $ mongo

    # 远程连接
    $ mongo 192.168.3.220:27017
  • 查看所以数据库

    1
    $ show dbs
  • 使用指定数据库

    1
    $ use muycode

导入、导出

导入

  • 语法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field

    参数说明:
    -d :数据库名
    -c :collection 名
    --type :导入的格式默认 json
    -f :导入的字段名
    --headerline :如果导入的格式是 csv,则可以使用第一行的标题作为导入的字段
    --file :要导入的文件

    mongoimport --db muycode --collection test --file C:\Users\Administrator\Desktop\test.json

    // 导入之前删掉所有数据
    mongoimport --db muycode --collection test --drop --file C:\Users\Administrator\Desktop\test.json

    // 远程导入
    mongoimport --host 192.168.3.220:27017 -d mes -c sysLogDO --drop --file C:\Users\Administrator\Desktop\db\sysLogDO.json

导出

  • 语法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    mongoexport -d dbname -c collectionname -o file --type json/csv -f field

    参数说明:
    -d :数据库名
    -c :collection 名
    -o :输出的文件名
    --type : 输出的格式,默认为 json
    -f :输出的字段,如果 -type 为 csv,则需要加上 -f " 字段名 "

    mongoexport -d muycode -c test -o C:\Users\Administrator\Desktop\test.json --type json
  • window 根据条件导出数据,官网

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mongoexport -d muycode -c test -q "{\"age\":\"21\"}" -o C:\Users\Administrator\Desktop\db\test.json --type json

// 导出大于 20
mongoexport -d muycode -c test -q "{\"age\":{\"$gt\": \"20\"}}"
-o C:\Users\Administrator\Desktop\db\test.json --type json

// 远程根据条件导出
mongoexport --host 192.168.3.235:27017 -d mes -c engineLogDO -q "{\"tenantId\":\"10\"}" -o C:\Users\Administrator\Desktop\db\engineLogDO.json --type json

// 远程 验证用户
mongoexport --host 192.168.3.220:27017 -u root -p 123456 -d muycode -c test
-q "{\"age\":{\"$gt\": \"20\"}}" -o C:\Users\Administrator\Desktop\db\test.json --type json

// 远程 根据条件导出
mongoexport --host 192.168.3.220:27017 -d mes -c errorLogDO
-q "{\"tenantId\":\"10\", \"timestamp\":{\"$gt\": {\"$date\": \"2019-01-01T00:00:00Z\"}, \"$lt\": {\"$date\": \"2019-08-30T23:59:59Z\"}}}"
-o C:\Users\Administrator\Desktop\db\10_errorLogDO.json --type json

条件

1
"{\"tenantId\": \"10\", \"createTime\":{\"$gt\": {\"$date\": \"2019-07-01T00:00:00Z\"}, \"$lt\": {\"$date\": \"2019-07-31T00:00:00Z\"}}}"

java 动态拼接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
private String getQueryString(String tenantId, String sortName, Date sTimeDate, Date eTimeDate) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
StringBuffer sb = new StringBuffer();
sb.append("\\\"tenantId\\\":").append("\\\"").append(tenantId).append("\\\"");
sb.append(", ").append("\\\"").append(sortName).append("\\\":")
.append("{")
.append("\\\"$gt\\\": ").append("{")
.append("\\\"$date\\\": ").append("\\\"").append(sdf.format(sTimeDate)).append("\\\"")
.append("}, ")
.append("\\\"$lt\\\": ").append("{")
.append("\\\"$date\\\": ").append("\\\"").append(sdf.format(eTimeDate)).append("\\\"")
.append("}")
.append("}");
return sb.toString();
}


private String getCommandLine(String tableName, String queryJson, String filePath) {
StringBuffer sb = new StringBuffer();
sb.append("mongoexport")
.append(" --host ").append(mongoDBHost)
.append(" -d ").append(mongoDB)
.append(" -c ").append(tableName)
.append(" -q ").append("\"{").append(queryJson).append("}\"")
.append(" -o ").append(filePath)
.append(" --type json");
return sb.toString();
}