一、先安装mongoDB
下载解压拷贝
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.2.tgz
yum install libcurl openssl xz-libs -y
tar xf mongodb-linux-x86_64-rhel70-4.4.2.tgz
mv /opt/install/mongodb
mkdir -p /var/lib/mongo
mkdir -p /var/log/mongodb
vi statr.sh
bin/mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --bind_ip 0.0.0.0 --fork
mongo
wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel70-x86_64-100.2.1.tgz
tar and cp
导入文件
#import csv
bin/mongoimport --db=school --collection=users --type csv --headerline --ignoreBlanks --file /root/data/users.csv
二、IDEA中操作mongoDB
依赖下载
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.8.2</version>
</dependency>
package com.pb.mongodb;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Stream;
public class CSVToMongodb {
public static void main(String[] args) {
BufferedReader br = null;
MongoClient mongoClient = MongoClients.create("mongodb://nodethree");
//选择db 没用的化会自动创建
MongoDatabase database = mongoClient.getDatabase("school");
// 选择collection
MongoCollection<Document> collection = database.getCollection("demodemo");
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream("users.csv")));
final Stream<String> lines = br.lines();
/**
* user_id,locale,birthyear,gender,joinedAt,location,timezone
* 3197468391,id_ID,1993,male,2012-10-02T06:40:55.524Z,Medan Indonesia,480
*
*
*/
final Iterator<String> iterator = lines.iterator();
List<Document> documents = new ArrayList<>();
int count = 0;
while (iterator.hasNext()) {
count++;
String line = iterator.next();
String[] fields = line.split(",", -1);
//
Document document = new Document("user_id", fields[0])
.append("locale", fields[1])
.append("birthyear", fields[2])
.append("gender", fields[3])
.append("joinedAt", fields[4])
.append("location", fields[5])
.append("timezone", fields[6]);
documents.add(document);
if (count % 1000 == 0) {
collection.insertMany(documents);
count = 0;
documents.clear();
}
}
if (documents.size() != 0) {
collection.insertMany(documents);
}
// lines.forEach((line->{
//
// String []fields=line.split(",",-1);
//
// Document document = new Document("user_id", fields[0])
// .append("locale",fields[1])
// .append("birthyear",fields[2])
// .append("gender",fields[3])
// .append("joinedAt",fields[4])
// .append("location",fields[5])
// .append("timezone",fields[6]);
//
//
//
// collection.insertOne(document);
// }));
//插入mongodb数据库
// lines.forEach(System.out::println);
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
br.close();
mongoClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}