2017-09-28 7 views
0

パーズアンドロイドのsdkはユーザーテーブルの列を更新できません getCurrentUserそれを認証されたものとしてマークするが、私がそれを保存することを呼び出すとき。それは私にログをANDROID SDKで解析できないため、ログ内の[MongoError:exception:Mod on _id not Mod]が返されます

Uncaught internal server error. { [MongoError: exception: Mod on _id not allowed] 
    name: 'MongoError' 

は、以下の私はあなたがユーザーオブジェクトに取り付ける前に、構文解析ファイルを保存する必要が

byte[] data = "Working at Parse is great!".getBytes(); 
     final ParseFile file = new ParseFile("abcdef.txt", data); 



    ParseUser currentUser = ParseUser.getCurrentUser(); 
     if (currentUser != null) { 
      // do stuff with the user 
      currentUser.put("column_name", file); 
      currentUser.saveInBackground(new SaveCallback() { 
       @Override 
       public void done(ParseException e) { 
        if (e == null) { 
         Log.i("KQ", "update successfully"); 
        } else { 
         Log.i("KQ", "update error e = " + e); 
        } 
       } 
      }); 
     } else { 
      // show the signup or login screen 
      Log.i("KQ", "else"); 
     } 

答えて

0

ようにする必要があります。 良い答えがあります。

コード私は現在、クラウドコードで次のように使用しています。

Parse.Cloud.beforeSave(Parse.User, function(request, response) { 
    // For Android SDK remove id field while updating a user becasue it was creating MongoDB Exception in android. 
    if (request.object.get("updatedFrom") == 'android') { 
     request.object.unset("updatedFrom"); 
     request.object.unset("id"); 
    } 
    response.success(); 
}); 

ありがとう。

0

を保存するために使用しています私のコードであるログファイルにエラーが発生します。 私は良いanswer.Iは、現在の例外を取り除くと私の仕事のブロックを解除するためにidフィールドを削除するには、パースで私の雲のコードbeforeSaveトリガを使用してい得るまであなたのコードは、この

byte[] data = "Working at Parse is great!".getBytes(); 
    final ParseFile file = new ParseFile("abcdef.txt", data); 
    file.saveInBackground(new SaveCallback() { 
     @Override 
     public void done(ParseException e) { 
      if(e==null) 
      { 
       ParseUser currentUser = ParseUser.getCurrentUser(); 
       if (currentUser != null) { 
        // do stuff with the user 
        currentUser.put("column_name", file); 
        currentUser.saveInBackground(new SaveCallback() { 
         @Override 
         public void done(ParseException e) { 
          if (e == null) { 
           Log.i("KQ", "update successfully"); 
          } else { 
           Log.i("KQ", "update error e = " + e); 
          } 
         } 
        }); 
       } else { 
        // show the signup or login screen 
        Log.i("KQ", "else"); 
       } 
      } 
     } 
    }); 
+0

問題はファイルの保存で問題ではありません。テーブル内のレコードを更新している間、mongoはプライマリキーである_idを更新できません。何をするか、またはretrofitまたはandroidでidパラメータを削除する方法 – Debugger

関連する問題