sql >> Database teknologi >  >> NoSQL >> MongoDB

Nodejs Mongo indsæt i underdokument - dynamisk feltnavn

Du skal opbygge dit $set modifikator programmatisk:

var modifier = { $set: {} };
modifier.$set['companies.' + companyid] = { desksmemberships:[] };

Og brug derefter modifier som den tredje parameter i din findAndModify ring.

Du kan også overveje at ændre companies at være en matrix i stedet for et indlejret objekt.

Node.js 4.x-opdatering

Du kan nu bruge den beregnede egenskabssyntaks til at gøre dette direkte i objektet literal:

collection('users').findAndModify(
    {username: usern}, 
    [['_id', 'asc']], 
    {$set:{['companies.' + companyid]: { desksmemberships:[] }}},    
    {new: true},
    function(){...});


  1. Hadoop Combiner Introduktion, arbejde og fordele

  2. Hvornår skal man bruge Redis i stedet for MySQL til PHP-applikationer?

  3. Redis vs. Memcached – 2021 Sammenligning

  4. $nin med $expr