sql >> Databasteknik >  >> NoSQL >> MongoDB

Uppdatering i forEach på mongodb shell

För att få det du vill behöver du några saker:

t.forEach(function( aRow ) {
    var newFields = [];
    aRow.fields.forEach( function( aField ){
        var newItems = [];
        aField.items.forEach( function( item ){
            var aNewItem = { item: parseInt(item), ref: 0 };
            newItems.push( aNewItem );
        } );
        newFields.push({ _id: aField._id, items: newItems });
    } )
    aTable.update(
        { _id: aRow._id }, 
        { "$set": { "fields": newFields } }
    );
});

Så i princip måste du "rekonstruera" dina arrayer innan du uppdaterar



  1. Rails och caching, är det lätt att växla mellan memcache och redis?

  2. Hur undviker MongoDB SQL-injektionsröran?

  3. MongoDB-verktyg från gemenskapen som kompletterar ClusterControl

  4. Använd Redis för att skapa unika ID från ett begränsat intervall