Пн goose не будет увеличивать числовое поле - PullRequest
1 голос
/ 01 мая 2020

Я использую MongoDB и Mon goose. В настоящее время у меня есть кнопка like , и когда я нажимаю на нее, я хочу увеличить поле «likes» в своем документе. В настоящее время мой документ имеет следующую схему:

brote {
  name: 
  content:
  created: 
  likes: 
} 

, и я проверил, что идентификатор в моем запросе совпадает с идентификатором объекта в моей базе данных.

Я обратился к Как мне увеличиваем числовое значение в Mon goose? и Увеличиваем значение на mon goose? , но эти решения, похоже, не вносили никаких изменений в мою базу данных. Возможно, есть что-то явно очевидное, чего мне не хватает?

Индекс. js

mongoose.connect('mongodb://localhost:27017/bromies', { useUnifiedTopology: true, useNewUrlParser: true });
mongoose.set('useFindAndModify', false);
var Brote = mongoose.model('Brote', broteFormSchema);

app.post('/likes', (req, res) => {
    let query = { id: req.body._id};
    Brote.findOneAndUpdate(query, {$inc: { 'likes': 1 }});

  })

1 Ответ

2 голосов
/ 01 мая 2020

Кажется, findOneAndUpdate метод не работает без обратного вызова. Попробуйте передать обратный вызов, как это:

    let query = { _id: req.body._id}; // It is _id, not id
    Brote.findOneAndUpdate(
        query, 
        {$inc:{ likes: 1}},
        (err, brote) => {    // callback
            console.log(brote);
        }
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...