从java程序运行我的mongodb命令
如何从java代码运行多个mongodb命令。当我运行java程序时,我需要在后台执行mongodb命令。此程序引发一些异常“线程中的异常”main“java.io.IOException:无法运行程序“db.createCollection(“employ”):error=2,java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)处没有此类文件或目录…”从java程序运行我的mongodb命令,java,linux,mongodb,Java,Linux,Mongodb,如何从java代码运行多个mongodb命令。当我运行java程序时,我需要在后台执行mongodb命令。此程序引发一些异常“线程中的异常”main“java.io.IOException:无法运行程序“db.createCollection(“employ”):error=2,java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)处没有此类文件或目录…” 我需要从java程序运行一组mongo db命令。该程序与其他终端命令一起工作,如
我需要从java程序运行一组mongo db命令。该程序与其他终端命令一起工作,如“ls”(仅一个命令)。但如果我们将command1和command都指定为“ls”,则会出现问题。只执行一个ls命令。如果仅使用一个mongo db命令进行尝试,则表示“mongo”命令无法完全执行(程序不会终止)。是因为“proc.waitFor()”吗 我强烈建议使用Mongo Spring数据。你可以这样做:
import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.WriteConcern;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;
import com.mongodb.ServerAddress;
import java.util.Arrays;
public class MongoDBCollection {
public static void main(String args[]) {
try {
//Connect to Database
MongoClient mongoClient = new MongoClient("localhost",27017);
DB db = mongoClient.getDB("myDB");
System.out.println("Your connection to DB is ready for Use::"+db);
//Create Collection
DBCollection linked = db.createCollection("employ",new BasicDBObject());
System.out.println("Collection employ created successfully");
} catch(Exception e) {
System.out.println(e.getClass().getName() + ": " + e.getMessage());
}
}
}
我强烈建议使用Mongo Spring数据。你可以这样做:
import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.WriteConcern;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;
import com.mongodb.ServerAddress;
import java.util.Arrays;
public class MongoDBCollection {
public static void main(String args[]) {
try {
//Connect to Database
MongoClient mongoClient = new MongoClient("localhost",27017);
DB db = mongoClient.getDB("myDB");
System.out.println("Your connection to DB is ready for Use::"+db);
//Create Collection
DBCollection linked = db.createCollection("employ",new BasicDBObject());
System.out.println("Collection employ created successfully");
} catch(Exception e) {
System.out.println(e.getClass().getName() + ": " + e.getMessage());
}
}
}
我知道密码了。函数的作用是。它工作得很好。:)
“query”是存储mongodb查询的字符串
public void qexecute()
{
try{String query="db.products.insert( { item: "card", qty: 15 } )";
MongoClient mongo = new MongoClient("localhost",27017);
DB db = mongo.getDB("test");
DBCollection collection = db.getCollection(tablename);
db.eval(query);
}
catch(UnknownHostException e){
System.out.println(e);
}
catch (MongoException.DuplicateKey e) {
System.out.println("Exception Caught" + e);
}
}
我知道密码了。函数的作用是。它工作得很好。:)
“query”是存储mongodb查询的字符串
public void qexecute()
{
try{String query="db.products.insert( { item: "card", qty: 15 } )";
MongoClient mongo = new MongoClient("localhost",27017);
DB db = mongo.getDB("test");
DBCollection collection = db.getCollection(tablename);
db.eval(query);
}
catch(UnknownHostException e){
System.out.println(e);
}
catch (MongoException.DuplicateKey e) {
System.out.println("Exception Caught" + e);
}
}
你知道有一个事实吗?是的,我知道。但是没有别的办法吗?就像我写的代码一样。使用终端命令。这样我就可以使用相同的查询了。为了开发人员的方便,您将牺牲大量的性能。您知道这样一个事实吗?是的,我知道。但是没有别的办法吗?就像我写的代码一样。使用终端命令。这样我就可以使用相同的查询了。为了方便开发人员,您将牺牲大量的性能。