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

MongoDB:актуализиране на масив в масив

След още малко проучване изглежда, че единственият начин за модифициране на масива в масив би бил с някаква външна логика да се намери индексът на елемента, който искам да променя. Правенето на това ще изисква всяка промяна да има заявка за намиране за намиране на индекса и след това заявка за актуализиране за модифициране на масива. Това не изглежда като най-добрият начин.

Връзка към случай на JIRA от 2010 г., изискващ множество позиционни елементи...

Тъй като винаги ще знам идентификационния номер на функцията, избрах да преразгледам структурата на моя документ.

     {
    "_id" : "v5y8nggzpja5Pa7YS",
    "name" : "Example",
    "display_name" : "EX1",
    "groups" : [
        {
            "_id" : "s86CbNBdqJnQ5NWaB",
            "name" : "Group1",
            "display_name" : "G1",
            "features" : {
               "1" : {
                       type     : "blog",
                       name     : "[blog name]"
                       owner_id : "ga5YgvP5yza7pj8nS"
               }, 
            }
         },
     ]
 },

С новата структура промените могат да се правят по следния начин:

db.orgs.update({_id: "v5y8nggzpja5Pa7YS", "groups._id": "s86CbNBdqJnQ5NWaB"}, {$set: {"groups.$.features.1.name":"Blog Test 1"}});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да поддържам документи в агрегация с $unwind

  2. Mongoose:CastError:Прехвърлянето към ObjectId е неуспешно за стойност „me“ на пътя „_id“

  3. BSON::ObjectId срещу Mongo::ObjectID

  4. свържете ECONNREFUSED 127.0.0.1:27017'

  5. Сървърът node.js има ли нужда от интернет връзка, за да работи?