sql >> Databasteknik >  >> NoSQL >> MongoDB

Funktion för att byta värden i NodeJS med mongo+mongoose

Från Mongo UpdateOne-dokumentation UpdateOne tar 3 argument filter ,uppdatering ,återuppringning , så jag tror att du måste skicka _id av samlingen att ändra.

Update-find() returnerar en markör och för att använda foreach konvertera den till en array med 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. JHipster Redis Integrationselement obundet fel

  2. Har ett problem när du delar upp och räknar data i en CSV i MONGODB (har nollvärden i kolumner som kolumnnamn:)

  3. 3 sätt att skapa ett index i MongoDB

  4. MongoDB skärpa efter datum på en enda maskin