sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur uppdaterar man värdet för ett specifikt inbäddat dokument, inuti en array, för ett specifikt dokument i MongoDB?

Här är RameshVels lösning översatt till java:

    DB db = conn.getDB( "yourDB" ); 
    DBCollection coll = db.getCollection( "yourCollection" );

    ObjectId _id = new ObjectId("4e71b07ff391f2b283be2f95");
    ObjectId arrayId = new ObjectId("4e639a918dca838d4575979c");

    BasicDBObject query = new BasicDBObject();
    query.put("_id", _id);
    query.put("array._arrayId", arrayId);

    BasicDBObject data = new BasicDBObject();
    data.put("array.$.someField", "updated");

    BasicDBObject command = new BasicDBObject();
    command.put("$set", data);

    coll.update(query, command);


  1. Hur torkar man Heroku Redis?

  2. Mongoose find() RegExp för fältet nummertyp

  3. MongoDB $golv

  4. Hur man förhindrar återställningar i MongoDB