Как я могу безопасно использовать функцию JavaScript .push () с mongodb? - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь запустить http-запрос на обновление базы данных, в котором я помещаю новый объект в массив. Я использую мангуста с mongodb

Я мог бы вызвать коллекцию и нажать как: collection.findById({_id: req.params.id}, {$push : {schedule: req.body.schedule} ).

Тем не менее, у меня есть ряд обновлений, которые я хочу иметь для этой коллекции в различных моделях, причем большая часть из них является базовым переназначением, поэтому я написал это так:

collection.findById({_id: req.params.id}, 
        function(err, collection) { 
       ....(other code).. 
        I have an if statement then 
            else { 
        collection.schedule.push(req.body.schedule);
        collection.save();
        } 
  } })

Вышеприведенное работает, но я знаю, согласно этому ответу ( Вставка элементов в массив монго через mongoose ), это не «безопасный» способ сделать это. Как я могу вместо этого сделать else { {$push: {schedule: req.body.schedule}} } в функции? Кажется, я не могу заставить его работать?

...