MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Aktualizacja zagnieżdżonego rekordu w tablicy mongodb, gdy nie znasz indeksu dokumentu

DEMO :Plac zabaw MongoDB

Po pierwsze, w Twoim JSON są błędy.

JSON

[
  {
    "_id": "60753fd9b249ad0dfa1eeb48",
    "name": "Random Name 1",
    "email": "[email protected]",
    "likings": [
      {
        "breakfast": {
          "eat": "oats",
          "drink": "milk"
        }
      },
      {
        "lunch": {
          "eat": "beef",
          "drink": "pepsi"
        }
      },
      {
        "dinner": {
          "eat": "steak",
          "drink": "champagne"
        }
      }
    ]
  },
  {
    "_id": "60753fd9b249ad0dfa1eeb58",
    "name": "Random Name 2",
    "email": "[email protected]",
    "likings": [
      {
        "breakfast": {
          "eat": "cereals",
          "drink": "coffee"
        }
      },
      {
        "lunch": {
          "eat": "salad",
          "drink": "hot-water"
        }
      },
      {
        "dinner": {
          "eat": "biryani",
          "drink": "apple juice"
        }
      }
    ]
  }
]

Spróbuj tego:

db.collection.update({
  "name": "Random Name 2",
  "likings.dinner": {
    "$exists": true
  }
},
{
  "$set": {
    "likings.$.dinner.drink": "PEPSI"
  }
})

Możesz zmienić dinner do dowolnego pola, które chcesz odpowiednio zaktualizować.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Uzyskiwanie listy unikalnych obiektów osadzonych/zagnieżdżonych w dokumencie MongoDB

  2. Połącz projekt java z bazą danych mongodb

  3. Skośne obciążenie odczytu w zestawie Mongo Replica

  4. 3 proste kroki, aby poprawić bezpieczeństwo instalacji MongoDB

  5. 6 sposobów na uzyskanie roku z daty w MongoDB