MongoDB Stich Sync with update query does not work in Android












0














    Document filter = new Document();
filter.put("text", "hii");
Document update = new Document();
update.put("text", "prakash");
update.put("owner_id", _client.getAuth().getUser().getId());
update.put("checked", false);

Task<SyncUpdateResult> res=getItemsCollection().sync().updateMany(filter, update);
res.addOnCompleteListener(new OnCompleteListener<SyncUpdateResult>() {
@Override
public void onComplete(@android.support.annotation.NonNull Task<SyncUpdateResult> task) {

}

});


Above code is for Update MongoDB atlas record with Sync option from android device(means if internet is available then app will sync data to mongodb cloud)
I used Delete with Sync , Insert with Sync its works fine but if i try Update with Sync then it does not work
If anyone know whats issue with Sync Update



Error occures like Invalid BSON field name nae










share|improve this question
























  • Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example.
    – Neil Lunn
    Nov 23 '18 at 6:06
















0














    Document filter = new Document();
filter.put("text", "hii");
Document update = new Document();
update.put("text", "prakash");
update.put("owner_id", _client.getAuth().getUser().getId());
update.put("checked", false);

Task<SyncUpdateResult> res=getItemsCollection().sync().updateMany(filter, update);
res.addOnCompleteListener(new OnCompleteListener<SyncUpdateResult>() {
@Override
public void onComplete(@android.support.annotation.NonNull Task<SyncUpdateResult> task) {

}

});


Above code is for Update MongoDB atlas record with Sync option from android device(means if internet is available then app will sync data to mongodb cloud)
I used Delete with Sync , Insert with Sync its works fine but if i try Update with Sync then it does not work
If anyone know whats issue with Sync Update



Error occures like Invalid BSON field name nae










share|improve this question
























  • Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example.
    – Neil Lunn
    Nov 23 '18 at 6:06














0












0








0







    Document filter = new Document();
filter.put("text", "hii");
Document update = new Document();
update.put("text", "prakash");
update.put("owner_id", _client.getAuth().getUser().getId());
update.put("checked", false);

Task<SyncUpdateResult> res=getItemsCollection().sync().updateMany(filter, update);
res.addOnCompleteListener(new OnCompleteListener<SyncUpdateResult>() {
@Override
public void onComplete(@android.support.annotation.NonNull Task<SyncUpdateResult> task) {

}

});


Above code is for Update MongoDB atlas record with Sync option from android device(means if internet is available then app will sync data to mongodb cloud)
I used Delete with Sync , Insert with Sync its works fine but if i try Update with Sync then it does not work
If anyone know whats issue with Sync Update



Error occures like Invalid BSON field name nae










share|improve this question















    Document filter = new Document();
filter.put("text", "hii");
Document update = new Document();
update.put("text", "prakash");
update.put("owner_id", _client.getAuth().getUser().getId());
update.put("checked", false);

Task<SyncUpdateResult> res=getItemsCollection().sync().updateMany(filter, update);
res.addOnCompleteListener(new OnCompleteListener<SyncUpdateResult>() {
@Override
public void onComplete(@android.support.annotation.NonNull Task<SyncUpdateResult> task) {

}

});


Above code is for Update MongoDB atlas record with Sync option from android device(means if internet is available then app will sync data to mongodb cloud)
I used Delete with Sync , Insert with Sync its works fine but if i try Update with Sync then it does not work
If anyone know whats issue with Sync Update



Error occures like Invalid BSON field name nae







android mongodb






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 23 '18 at 9:15

























asked Nov 23 '18 at 4:58









Prakash Bamaniya

13




13












  • Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example.
    – Neil Lunn
    Nov 23 '18 at 6:06


















  • Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example.
    – Neil Lunn
    Nov 23 '18 at 6:06
















Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example.
– Neil Lunn
Nov 23 '18 at 6:06




Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example.
– Neil Lunn
Nov 23 '18 at 6:06












1 Answer
1






active

oldest

votes


















0














I solved above issue by query using objectId below is code.



    String datas=data_val.getText().toString();

final Document query = new Document();
query.put("_id", objectId);


final Document set = new Document();
set.append("text", datas);
set.put("owner_id", _client.getAuth().getUser().getId());
set.put("checked", true);


Log.d("Data4455",""+objectId);
final Document update = new Document();
update.put("$set", set);

remoteCollection.sync().updateOne(query,update,new SyncUpdateOptions().upsert(true)).addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@android.support.annotation.NonNull Task task) {
if(task.isSuccessful()) {
Toast.makeText(MainActivity.this, "update", Toast.LENGTH_SHORT).show();
findData();
}
else
Log.d("Data4455","error"+" "+task.getException().getMessage());
}
});


First Document is to query particular record that you want to update in mongoDB using "_id" and i got "objectId" which was retrived from mongoDB.



Second Document defines what are the values that you wanna update in mongoDB.



Third Document set update Document.



finally call remoteCollection.sync().updateOne(query,update) to update data.
It will definetly work Thank you.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53440856%2fmongodb-stich-sync-with-update-query-does-not-work-in-android%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    I solved above issue by query using objectId below is code.



        String datas=data_val.getText().toString();

    final Document query = new Document();
    query.put("_id", objectId);


    final Document set = new Document();
    set.append("text", datas);
    set.put("owner_id", _client.getAuth().getUser().getId());
    set.put("checked", true);


    Log.d("Data4455",""+objectId);
    final Document update = new Document();
    update.put("$set", set);

    remoteCollection.sync().updateOne(query,update,new SyncUpdateOptions().upsert(true)).addOnCompleteListener(new OnCompleteListener() {
    @Override
    public void onComplete(@android.support.annotation.NonNull Task task) {
    if(task.isSuccessful()) {
    Toast.makeText(MainActivity.this, "update", Toast.LENGTH_SHORT).show();
    findData();
    }
    else
    Log.d("Data4455","error"+" "+task.getException().getMessage());
    }
    });


    First Document is to query particular record that you want to update in mongoDB using "_id" and i got "objectId" which was retrived from mongoDB.



    Second Document defines what are the values that you wanna update in mongoDB.



    Third Document set update Document.



    finally call remoteCollection.sync().updateOne(query,update) to update data.
    It will definetly work Thank you.






    share|improve this answer




























      0














      I solved above issue by query using objectId below is code.



          String datas=data_val.getText().toString();

      final Document query = new Document();
      query.put("_id", objectId);


      final Document set = new Document();
      set.append("text", datas);
      set.put("owner_id", _client.getAuth().getUser().getId());
      set.put("checked", true);


      Log.d("Data4455",""+objectId);
      final Document update = new Document();
      update.put("$set", set);

      remoteCollection.sync().updateOne(query,update,new SyncUpdateOptions().upsert(true)).addOnCompleteListener(new OnCompleteListener() {
      @Override
      public void onComplete(@android.support.annotation.NonNull Task task) {
      if(task.isSuccessful()) {
      Toast.makeText(MainActivity.this, "update", Toast.LENGTH_SHORT).show();
      findData();
      }
      else
      Log.d("Data4455","error"+" "+task.getException().getMessage());
      }
      });


      First Document is to query particular record that you want to update in mongoDB using "_id" and i got "objectId" which was retrived from mongoDB.



      Second Document defines what are the values that you wanna update in mongoDB.



      Third Document set update Document.



      finally call remoteCollection.sync().updateOne(query,update) to update data.
      It will definetly work Thank you.






      share|improve this answer


























        0












        0








        0






        I solved above issue by query using objectId below is code.



            String datas=data_val.getText().toString();

        final Document query = new Document();
        query.put("_id", objectId);


        final Document set = new Document();
        set.append("text", datas);
        set.put("owner_id", _client.getAuth().getUser().getId());
        set.put("checked", true);


        Log.d("Data4455",""+objectId);
        final Document update = new Document();
        update.put("$set", set);

        remoteCollection.sync().updateOne(query,update,new SyncUpdateOptions().upsert(true)).addOnCompleteListener(new OnCompleteListener() {
        @Override
        public void onComplete(@android.support.annotation.NonNull Task task) {
        if(task.isSuccessful()) {
        Toast.makeText(MainActivity.this, "update", Toast.LENGTH_SHORT).show();
        findData();
        }
        else
        Log.d("Data4455","error"+" "+task.getException().getMessage());
        }
        });


        First Document is to query particular record that you want to update in mongoDB using "_id" and i got "objectId" which was retrived from mongoDB.



        Second Document defines what are the values that you wanna update in mongoDB.



        Third Document set update Document.



        finally call remoteCollection.sync().updateOne(query,update) to update data.
        It will definetly work Thank you.






        share|improve this answer














        I solved above issue by query using objectId below is code.



            String datas=data_val.getText().toString();

        final Document query = new Document();
        query.put("_id", objectId);


        final Document set = new Document();
        set.append("text", datas);
        set.put("owner_id", _client.getAuth().getUser().getId());
        set.put("checked", true);


        Log.d("Data4455",""+objectId);
        final Document update = new Document();
        update.put("$set", set);

        remoteCollection.sync().updateOne(query,update,new SyncUpdateOptions().upsert(true)).addOnCompleteListener(new OnCompleteListener() {
        @Override
        public void onComplete(@android.support.annotation.NonNull Task task) {
        if(task.isSuccessful()) {
        Toast.makeText(MainActivity.this, "update", Toast.LENGTH_SHORT).show();
        findData();
        }
        else
        Log.d("Data4455","error"+" "+task.getException().getMessage());
        }
        });


        First Document is to query particular record that you want to update in mongoDB using "_id" and i got "objectId" which was retrived from mongoDB.



        Second Document defines what are the values that you wanna update in mongoDB.



        Third Document set update Document.



        finally call remoteCollection.sync().updateOne(query,update) to update data.
        It will definetly work Thank you.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 24 '18 at 6:24

























        answered Nov 24 '18 at 6:18









        Prakash Bamaniya

        13




        13






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53440856%2fmongodb-stich-sync-with-update-query-does-not-work-in-android%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            What visual should I use to simply compare current year value vs last year in Power BI desktop

            Alexandru Averescu

            Trompette piccolo