sql >> Database >  >> NoSQL >> MongoDB

Werk een enkel veld in MongoDB bij in een enkel ingesloten document

U kunt waarschijnlijk de positionele operator gebruiken om het array-element te identificeren:

Dus misschien zoiets als:

User.collection.update(
    { :_id => user.id, :matches => BSON::ObjectId('4e40238dbc9f6ec5a6000eed') },
    { :$set => { 'alert.matches.$' => matches } }
)

Maar zoals Sergio opmerkt, is het moeilijk om de structuur van uw documenten te ontrafelen op basis van de beperkte informatie in uw vraag.

Het lijkt erop dat er meer informatie binnenkwam nadat ik had geantwoord en het lijkt erop:

{ :$set => { 'alerts.$.matches' => ... } }

is wat je nodig hebt. En u moet :matches . opnemen in de zoekopdracht zodat $ heeft iets om naar te verwijzen.




  1. Hoe de grootte van tijdschriften in Mongodb te controleren?

  2. Wanneer indexeren, wat indexeren in Mongoid?

  3. MongoDB - Een verzameling opvragen

  4. Wat is er mis met MongoDB-query verwijderen met behulp van mongodb java voor subarray van document?