2016-10-09 17 views
1

Ich muss einen Feldnamen verwenden, indem Sie eine Variable verwenden. Wie mache ich das?MongoDB: addToSet mit dynamischem Feldname

Collection.update(
    { _id: id }, 
    { 
     $addToSet: { 
      cars: { 
       foo: bar 
      } 
     } 
    } 
); 

Aber ich brauche, dies zu tun programmatisch:

let variableName = 'cars'; 
Collection.update(
    { _id: id }, 
    { 
     $addToSet: { 
      variableName: { 
       foo: bar 
      } 
     } 
    } 
); 

In diesem Beispiel sollte effectivly wie geschehen.

Similiar Sache mit diesem:

var fieldName = 'user'; 
Collection.find({ _id: id, fieldName + '.language': lang }); 

Was ist der richtige Weg, dies zu tun?

Antwort

1

Aktualisieren Sie einfach Sie Code

let variableName = 'cars'; 
Collection.update(
    { _id: id }, 
    { 
     $addToSet: { 
      [variableName]: { 
       foo: bar 
      } 
     } 
    } 
); 

Es wird dynamische Schlüsselnamen erstellen.

Verwandte Themen