0

こんにちは、私はJavaでmongoDBに取り組んでいます。接続の挿入と mongoDB からの値の取得を正常に完了しましたが、データを更新しようとすると、コードが機能しません。

私のコードは:

public static Result updateprofile() throws UnknownHostException 
{
    final  DynamicForm profileform=form().bindFromRequest();
    final  String username1 = profileform.get("username");
    final  String password1 = profileform.get("password");
    final  String email1 = profileform.get("email");
    final  String userid = session("userid");
    MongoClient mongo=new MongoClient("localhost",27017);

    DB db = mongo.getDB("webportal"); 
    DBCollection coll=db.getCollection("userdb");
    BasicDBObject doc2=new BasicDBObject("_id", userid);
    BasicDBObject doc1=new BasicDBObject();
    doc1.append("username", username1);
    doc1.append("username", username1);
    doc1.append("password", password1);
    doc1.append("email",email1 );
    BasicDBObject doc3=new BasicDBObject("$set",doc1);
    coll.update(doc2, doc3);
    return ok(userid+username1);        
}

私はmongoでデータを更新するために このブロックを読みました

4

4 に答える 4

1

これは私のために働いた:

BasicDBObject doc1 = new BasicDBObject();
doc1.append("$set", new BasicDBObject("username", username1)
    .append("password", password1)
    .append("email", email1));
BasicDBObject doc2 = new BasicDBObject("_id", userid);
coll.update(doc2, doc1);
于 2013-08-08T06:53:14.903 に答える
0

shakthydoss と orid が与えたものに基づいて、いくつかの変更を加えました。これが私の解決策です:

MongoClient mongo=new MongoClient("localhost",27017);
DB db = mongo.getDB("webportal"); 
DBCollection coll=db.getCollection("userdb");
BasicDBObject doc2 = new BasicDBObject();
doc2.put("_id",userid);
BasicDBObject updateDocument = new BasicDBObject();
updateDocument .append("$set", new BasicDBObject("username", username1).append("password", password1).append("email", email1));
coll.update(doc2, updateDocument);
于 2013-08-09T10:31:17.517 に答える