1

Webアプリケーションでブログ投稿をしたい。当初、私はmysqlをDBとして使用していました。ここで、ブログのテキスト領域に入力された投稿をJSのオブジェクトとして取得し、そのオブジェクトをJavaサーバー側に送信します。そこで、mysqlクエリを記述し、結果セットでオブジェクトを取得して、データベースに保存します。しかし、今は同じようにmongoDBを使用したいと思います。私が学んだ多くのチュートリアルを通して、私は基本的なことを理解することができます。しかし、それをアプリケーションに実装することはできません。JSからのオブジェクトがループ内でどのように送信されるのか、オブジェクトを保存するためにクエリを実行する方法を知りたいサーバー側からJSにオブジェクトを送信する必要がある場合も同様です。どうすればいいですか?

サーバーサイドコード:

    public DB MongoConnection(Blog blog) throws UnknownHostException, MongoException{
    Mongo m = new Mongo("localhost" , 27017); //mongo object
    DB db = m.getDB("myblog");
    System.out.println("Connected");
    //making a collection object which is table when compared to sql
    DBCollection items = db.getCollection("items"); 
    System.out.println("items got");

   //to work with document we need basicDbObject        
    BasicDBObject query = new BasicDBObject();
    System.out.println("Created mongoObject");

      //Cursor, which is like rs in sql
    DBCursor cursor = items.find();
    System.out.println("items got");
     while(cursor.hasNext()){
        System.out.println(cursor.next());
    } 

上記のコードでは、mongo接続、ドキュメント、コレクション、カーソルの動作など、すべてを理解しました。では、JSからオブジェクトとして取得した値を保存し、mongoDBに保存するにはどうすればよいですか。何か提案がありますか?

4

1 に答える 1

1

DBCollection クラスのsaveメソッドを次のように使用します。

while(cursor.hasNext()){
    DBObject doc = cursor.next();

    doc.put("name", "Leo-vin");

    items.save(doc);
}

メソッド cursor.next() は、タイプ DBObject のオブジェクトを返します。それはあなたの BSONObject です。

アップデート:

ドキュメント (BSON) を変更するには、クラス BSONObject のメソッド put を使用します

于 2010-11-30T19:40:06.487 に答える