MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Nodejs Mongo вмъкване в поддокумент - динамично име на поле

Ще трябва да изградите своя $set модификатор програмно:

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

И след това използвайте modifier като трети параметър във вашия findAndModify обадете се.

Може също да помислите за промяна на companies да бъде масив вместо вграден обект.

Актуализация на Node.js 4.x

Вече можете да използвате синтаксиса на изчисленото свойство, за да направите това директно в обектния литерал:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Заявката Mongoose/mongoDB се присъединява.. но идвам от sql фон

  2. Сравнение на агрегиране на MongoDB:group(), $group и MapReduce

  3. Опитвам се да стартирам mongod сървър на ubuntu:изключение в initAndListen:29 Директория с данни /data/db не е намерена., прекратяване

  4. MongoDB като съхранение на файлове

  5. MongoDB $atan