MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Chức năng hoán đổi giá trị trong NodeJS w / mongo + mongoose

Từ Tài liệu Mongo UpdateOne UpdateOne có 3 đối số bộ lọc , cập nhật , gọi lại , vì vậy tôi tin rằng bạn cần phải vượt qua _id của bộ sưu tập để thay đổi.

Update- find () trả về một con trỏ và để sử dụng foreach, hãy chuyển nó thành một mảng bằng cách sử dụng 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
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB ORM cho Python?

  2. MongoDB và C #:Tìm kiếm không phân biệt chữ hoa chữ thường

  3. Chèn mongodb hàng loạt trong Meteor hoặc Node

  4. Mongoose phụ tài liệu loại bỏ trước phần mềm trung gian không được gọi

  5. 3 cách để chọn hàng có giá trị tối đa trong SQL