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

Funktion til at bytte værdier i NodeJS m/ mongo+mongoose

Fra Mongo UpdateOne-dokumentation UpdateOne tager 3 argumenter filter ,opdatering ,tilbagekald , så jeg tror, ​​du skal bestå _id af samlingen til at ændre.

Update-find() returnerer en markør og for at bruge foreach konvertere den til en matrix ved hjælp af find().toArray().then(..so on)

// @route   PATCH api/swap
// @desc    replace date
// @access  Public

router.put("/swap", (req, res) => {
const firstDate = req.body.firstDate;
const secondDate = req.body.secondDate;

console.log(firstDate, secondDate);

Card.find().toArray().then(cards=>cards.forEach(card => {
    if (card.date === firstDate) {
      return card.updateOne( { date: firstDate } ,{ $set: { date: secondDate } });
    } else if (card.date === secondDate) {
      return card.updateOne( { date: secondDate },{ $set: { date: firstDate } });
    } else {
      return card;
    }
  });
}))
.then(() => console.log("working"));
 });



  1. Redis - hvad, hvorfor og hvordan du bruger Redis som en primær database

  2. MongoDB Aggregation Operators for returnering af datodele

  3. MongoDB Tekstindeks på alle felter ved hjælp af Java

  4. Opdater dokumenter i MongoDB