sql >> Databáze >  >> NoSQL >> MongoDB

Jak dynamicky $nastavit pole vnořeného dokumentu v mongodb?

Přišel jsem na to.

V podstatě musíte před spuštěním dotazu vytvořit „zástupný“ objekt vnořeného dokumentu, který se pokoušíte aktualizovat, například takto:

var projectID = 'JKS78678923SDFD678';

var key = 'Three';
var value = 'Three';

var placeholder = {};
placeholder['options.' + key] = value;

Teams.findAndModify({
    query: {
        projectID:mongojs.ObjectId(projectID)
    },
    update: {
        $set : placeholder
    },
    upsert: true,
    multi: false,
    new: true
},
function(error, result, lastErrorObject){

    console.log(result);

});

Tím se aktualizují všechna již existující pole a vytvoří se pár pole/hodnota, pokud ještě neexistoval.




  1. psaní syntaxe mongoDB

  2. C# MongoDB komplexní serializace třídy

  3. Asynchronní provádění příkazů redis

  4. Mongodb uloží seznam objektů