MongoDB批插入不使用java驱动程序
我正在试用mongoDB,下面是我用来连接和插入记录的代码MongoDB批插入不使用java驱动程序,mongodb,Mongodb,我正在试用mongoDB,下面是我用来连接和插入记录的代码 import com.mongodb.*; import java.net.UnknownHostException; import java.util.LinkedList; import java.util.List; public class MongoConnect { public static void main(String[] args) throws UnknownHostException, Inter
import com.mongodb.*;
import java.net.UnknownHostException;
import java.util.LinkedList;
import java.util.List;
public class MongoConnect {
public static void main(String[] args) throws UnknownHostException, InterruptedException {
MongoClient mongoClient = new MongoClient("localhost");
DB db = mongoClient.getDB("mydb");
DBCollection collection = db.getCollection("emails");
long currentTime = System.currentTimeMillis();
long totalRecords = 120L;
long batchInsert = 0;
long insertedRecords = 0L;
List<DBObject> basicDBObjects = new LinkedList<DBObject>();
while (insertedRecords < totalRecords) {
System.out.println("adding: "+insertedRecords);
basicDBObjects.add(new BasicDBObject("email", "amar+" + insertedRecords + "@gmail.com"));
insertedRecords++;
batchInsert++;
if (batchInsert == 5) {
System.out.println("inserting: "+(insertedRecords-5));
collection.insert(basicDBObjects);
System.out.println("Inserted: *******"+insertedRecords);
//Thread.sleep(200);
batchInsert = 0;
basicDBObjects = new LinkedList<DBObject>();
}
}
long endTime = System.currentTimeMillis();
System.out.println("Total time taken :"+((endTime-currentTime)/1000));
//long currentTime = System.currentTimeMillis();
DBCursor email = collection.find(new BasicDBObject("email", "amar+3@gmail.com"));
int count = email.count();
System.out.println("count = "+count);
System.out.println("Total time taken: "+String.valueOf(System.currentTimeMillis()-currentTime));
}
}
导入com.mongodb.*;
导入java.net.UnknownHostException;
导入java.util.LinkedList;
导入java.util.List;
公共类MongoConnect{
公共静态void main(字符串[]args)抛出UnknownHostException、InterruptedException{
MongoClient MongoClient=新的MongoClient(“本地主机”);
DB=mongoClient.getDB(“mydb”);
DBCollection=db.getCollection(“电子邮件”);
长currentTime=System.currentTimeMillis();
长时间记录=120L;
长批插入=0;
长插入记录=0升;
List basicdbobobjects=newlinkedlist();
while(insertedRecords
我可以看到创建了带有“电子邮件”的收藏,它显示为show collections
但是当我执行
db.mydb.emails.find({})
时,不会出现任何结果。我尝试重新启动mongo服务,甚至尝试了db.dropDatabase()
似乎没有任何效果。有人能指出这个问题吗?仅供参考,控制台上的插入工作正常。我只更改了MongoClient MongoClient=new MongoClient(“localhost”)
toMongo Mongo=new Mongo()代码>并且一切都如您所期望的那样工作
您使用的是哪个版本的mongo驱动程序?我使用的是mongo 2.9.1,以下是maven依赖项:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson</artifactId>
<version>2.9.1</version>
</dependency>
Mongo mongo = new Mongo();
DB db = mongo.getDB("example");
DBCollection collection = db.getCollection("sampleCollection");
List<DBObject> basicDBObjects = Lists.newArrayList();
long currentTime = System.currentTimeMillis();
long totalRecords = 120L;
long batchInsert = 0;
long insertedRecords = 0L;
while (insertedRecords < totalRecords) {
System.out.println("adding: "+insertedRecords);
basicDBObjects.add(new BasicDBObject("email", "amar+" + insertedRecords + "@gmail.com"));
insertedRecords++;
batchInsert++;
if (batchInsert == 5) {
System.out.println("inserting: "+(insertedRecords-5));
collection.insert(basicDBObjects);
System.out.println("Inserted: *********"+insertedRecords);
Thread.sleep(200);
batchInsert = 0;
basicDBObjects = Lists.newArrayList();
}
}
long endTime = System.currentTimeMillis();
System.out.println("Total time taken :"+((endTime-currentTime)/1000));
//long currentTime = System.currentTimeMillis();
DBCursor email = collection.find(new BasicDBObject("email", "amar+3@gmail.com"));
int count = email.count();
System.out.println("count = "+count);
System.out.println("Total time taken: "+String.valueOf(System.currentTimeMillis()-currentTime));
org.mongodb
mongo java驱动程序
2.9.1
org.mongodb
布森
2.9.1
Mongo Mongo=新Mongo();
DB=mongo.getDB(“示例”);
DBCollection=db.getCollection(“sampleCollection”);
List basicdbobobjects=Lists.newArrayList();
长currentTime=System.currentTimeMillis();
长时间记录=120L;
长批插入=0;
长插入记录=0升;
while(insertedRecords
我只更改了MongoClient MongoClient=新的MongoClient(“localhost”)
toMongo Mongo=new Mongo()代码>并且一切都如您所期望的那样工作
您使用的是哪个版本的mongo驱动程序?我使用的是mongo 2.9.1,以下是maven依赖项:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson</artifactId>
<version>2.9.1</version>
</dependency>
Mongo mongo = new Mongo();
DB db = mongo.getDB("example");
DBCollection collection = db.getCollection("sampleCollection");
List<DBObject> basicDBObjects = Lists.newArrayList();
long currentTime = System.currentTimeMillis();
long totalRecords = 120L;
long batchInsert = 0;
long insertedRecords = 0L;
while (insertedRecords < totalRecords) {
System.out.println("adding: "+insertedRecords);
basicDBObjects.add(new BasicDBObject("email", "amar+" + insertedRecords + "@gmail.com"));
insertedRecords++;
batchInsert++;
if (batchInsert == 5) {
System.out.println("inserting: "+(insertedRecords-5));
collection.insert(basicDBObjects);
System.out.println("Inserted: *********"+insertedRecords);
Thread.sleep(200);
batchInsert = 0;
basicDBObjects = Lists.newArrayList();
}
}
long endTime = System.currentTimeMillis();
System.out.println("Total time taken :"+((endTime-currentTime)/1000));
//long currentTime = System.currentTimeMillis();
DBCursor email = collection.find(new BasicDBObject("email", "amar+3@gmail.com"));
int count = email.count();
System.out.println("count = "+count);
System.out.println("Total time taken: "+String.valueOf(System.currentTimeMillis()-currentTime));
org.mongodb
mongo java驱动程序
2.9.1
org.mongodb
布森
2.9.1
Mongo Mongo=新Mongo();
DB=mongo.getDB(“示例”);
DBCollection=db.getCollection(“sampleCollection”);
List basicdbobobjects=Lists.newArrayList();
长currentTime=System.currentTimeMillis();
长时间记录=120L;
长批插入=0;
长插入记录=0升;
while(insertedRecords
也尝试了2.10.1,但它再次起作用。你确定你检查的是正确的mongo吗?你能改变一下数据库名吗