私は学校のプロジェクトに取り組んでいます。ユーザーがGUIでクエリを入力できるプログラムを作成したい。
たとえば、次のコマンドを入力すると、プログラムはクエリを検証して結果を返す必要があります。
db.bios.find( { name: { first: 'John', last: 'McCarthy' } } )
クエリを検証する方法と、クエリをデータベースに渡す方法についていくつかの提案が必要です。
私は学校のプロジェクトに取り組んでいます。ユーザーがGUIでクエリを入力できるプログラムを作成したい。
たとえば、次のコマンドを入力すると、プログラムはクエリを検証して結果を返す必要があります。
db.bios.find( { name: { first: 'John', last: 'McCarthy' } } )
クエリを検証する方法と、クエリをデータベースに渡す方法についていくつかの提案が必要です。
Java MongoDB ドライバーはJSON.parse
、JSON 文字列を解析してDBObject
.
import com.mongodb.util.JSON;
String json = "{ name: { first: 'John', last: 'McCarthy' } }";
DBObject query = (DBObject) JSON.parse(json);
DBObject result = db.bios.find(query);
Jongo ドライバーを使用することをお勧めします: http://jongo.org/
次のように使用します。
Mongo mongo = new Mongo(/*host, port*/);
DB db = mongo.getDB(dbname);
Jongo jongo = new Jongo(db);
User user = jongo.getCollection("users").findOne(" { name: { first: 'John', last: 'McCarthy' }).as(User.class);
しかし、ご覧のとおり、リクエスト全体を検証するのではなく、findOne() メソッドのパラメーターのみを検証します。そしてJongoはシェルに最も近いドライバーとして知られています。
言い換えれば、あなたの演習が Java で簡単にできるとは思えません。おそらく、Python で「シェル ドライバー」を見つけることができ、Java は Python と対話します....