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

Hvordan projicerer man kun opdaterede værdier ved hjælp af findOneAndUpdate i indlejret array Mongoose?

du kan bruge array.find() sådan her:

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));
    }
  );
};

Dette returnerer det opdaterede objekt. Lad mig vide, om det virker.




  1. MongoDB Composite Key:InvalidOperationException:{document}.Identitet er ikke understøttet

  2. Ændring af MongoDB datalagerkatalog

  3. Hvordan forespørges dokumenter ved hjælp af _id felt i Java mongodb driver?

  4. slip hele databasen inden for en enkelt kommando til at gendanne dumpet af mongodb