MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да актуализирам стойността на конкретен вграден документ, вътре в масив, на конкретен документ в MongoDB?

Ето решението на RameshVel, преведено на 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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Какво всъщност означаваше, че MongoDB не е съвместим с ACID преди v4?

  2. MongoDB $isoDayOfWeek

  3. Опитвам се да получа списък с колекции от mongoose

  4. Съвети за планиране на схема на MongoDB

  5. Правилно изключване на връзката с базата данни MongoDB от C# 2.1 драйвер?