9

javaのパラメータでsoemadminコマンドを実行したい。

コマンドは次のとおりです。

{ enablesharding : "test" }
{ shardcollection : "test.test_collection", key : {"number":1} }

Javaドライバからどのようにそれを行うことができますか?

次のコードは機能しません。

mongo.getDb("admin").command("{shardcollection : \"test.test_collection\", key:\"number\":1} }")
4

3 に答える 3

15

見つけた

DB db = mongo.getDB("admin");
DBObject cmd = new BasicDBObject();
cmd.put("shardcollection", "testDB.x");
cmd.put("key", new BasicDBObject("userId", 1));
CommandResult result = db.command(cmd);
于 2012-05-01T07:52:30.507 に答える
9

ジュリアスの答えが正しいことを付け加えたいのですが、現在は非推奨です。新しいAPIを使用できます(Documentクラスはパッケージからのものです org.bson):

MongoDatabase database = client.getDatabase("admin");
Document documentA = database.runCommand(new Document("enablesharding", "test"));
Document documentB = database.runCommand(
        new Document("shardcollection", "testDB.x").append("key", new Document("userId", 1)));
于 2017-11-01T19:34:26.683 に答える
-1

dbへの認証が正常に行われたことを確認しましたか?

db.eval(COMMAND_THAT_YOU_WANT_TO_EVAL);を試しましたか

于 2012-05-01T07:52:42.937 に答える