сделать путь, который увеличивает счет - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь сделать пост-запрос, который увеличит мою схему, используя express и mongoose, а именно:

const ItemSchema = new Schema({
  formName: String,
  inputs: [
    {
      inputLabel: {
        type: String,
        required: true
      },

      inputType: {
        type: String,
        required: true,
        enum: ['text', 'color', 'date', 'email', 'tel', 'number']
      },

      inputValue: {
        type: String,
        required: true
      }
    }
  ],
  numOfSubs: { type: Number, default: 0 }
});

для моего кода я хочу создать маршрут, который увеличится на 1numOfSubs каждый раз, когда я его использую, так как есть несколько списков, у меня есть идентификатор, поэтому мне нужно искать его, и я не уверен, как написать путь

router.post('/increase', (req, res) => {
 "find and increase by 1 " 

});

, и я буду использовать выборкувот так:

fetch('/api/items/increase', {
  method: 'POST',
  body: JSON.stringify({ _id }),//the ID I of the collection I want to increment
  headers: {
    'content-type': 'application/json'
  }
});

1 Ответ

0 голосов
/ 29 сентября 2018

попробуйте это используя mongo $ inc operator

router.post('/increase', (req, res, next) => {
const _id = req.body._id;

   MyModel.findByIdAndUpdate(_id , { $inc: {numOfSubs: 1} }, { new: true },  (err,updateRes)=>{
      if(err) return next(err);
      return res.json({sucess: true});
   });

});
...