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

Jak promítnout aktualizované hodnoty pouze pomocí findOneAndUpdate ve vestavěném poli Mongoose?

můžete použít array.find() takto:

const updatebookSource = (sourceId, userId, bookId) => {
  User.findOneAndUpdate({ _id: userId, "books._id": bookId }, up, filter).exec(
    (err, doc) => {
      if (err) throw err;
      let res = doc.books[0].ratings.find(rating => {
        return rating.source === sourceId;
      });

      console.log(JSON.stringify(res, null, 1));
    }
  );
};

To vrátí aktualizovaný objekt. Dejte mi vědět, jestli to funguje.




  1. Přístup k podsbírce v mongoidu s formulářem kolejnic pro úpravu a vytvoření nového záznamu

  2. MongoDB - Full Text Index - Full Text Search - stemming

  3. Dotaz na hledání uzlu mongoose ve smyčce nefunguje

  4. Dotazování vnořených vložených dokumentů pomocí Mongoose