MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

$ projekcja w mongoDB findOneAndUpdate()

Problem dotyczył new: true

Oto działający przykład:

Campaign.findOneAndUpdate({'isEnabled': true,  'clients.contact_status_code': 0}, {
            '$set': { 'clients.$.contact_status_code': 1 },
        },
        {
            //new: true <-- this was causing the trouble
            projection: {
                clients: {
                    '$elemMatch': {contact_status_code: 0}, // 0 because the old record gets matched
                },
            },
        },
        (err, campaign) => {
            if (err) {
                return res.send(err);
            }

            res.json(campaign);
        }
    );

Zakładam, że gdy new: true jest ustawione, mongo traci pasujący kontekst. Takie podejście, niestety, zwraca stary rekord, ale to nadal spełnia moje potrzeby, aby uzyskać _id.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zachowaj nazwę właściwości Id w osadzonym dokumencie za pomocą sterownika mongo C#

  2. Utwórz _id na poddokumentach w mongoimport --jsonArray

  3. Jak uruchomić wiele aplikacji z jednym mongodb za pomocą dockera

  4. Jak wydrukować minimalny wynik w MongoDB

  5. MongoDB nie tworzy bazy danych w powłoce