Как поместить несколько объектов в массив, используя $ push (Mongoose) - PullRequest
0 голосов
/ 08 октября 2019

Возникают большие проблемы с выталкиванием нескольких объектов в массив.

Я пробовал несколько разных вариантов этого кода, и я либо заканчиваю тем, что помещал объекты прямо в БД, либо только нажимал последниеобъект массива

Вот код, который я пытаюсь в настоящее время, который работает, но только выдвигает последний объект (в этом случае среда).

  collection.findOneAndUpdate(
  { name: 'yyy' }, 
  { $push: { schedule: monday, schedule: tuesday, schedule: wednesday}},
 function (error, success) {
       if (error) {
           console.log("error");
           console.log(error);
       } else {
           console.log("success");
           console.log(success);
       }
});

Я пытался

collection.findOneAndUpdate(
  { name: 'yyy' }, 
  { $push: { schedule: monday, tuesday, wednesday}}

и он просто перенес вторник и среду на главную вместо размещения их в массиве расписаний.

Вот схема, которую я использую для расписания

  schedule: [
    {
        day: { type: String, default: ""},
        closed: { type: Boolean, default: false },
        start: { type: Number, default: 0},
        startap: { type: String, default: "AM"},
        end: { type: Number, default: 0},
        endap: { type: String, default: "PM"}
    }
  ]

Вот и пример переменных дня, которые я хочу передать в массив расписаний

var monday = { 
            day:"Monday", 
            closed: false, 
            start:"700", 
            startap:"AM", 
            end:"1900", 
            endap:"PM"
};

Очевидно, я мог бы просто выполнить штраф и обновить код 7 раз, но я чувствую, что есть более эффективный способ.

1 Ответ

2 голосов
/ 09 октября 2019

Вы можете Добавить несколько значений в массив , используя $push с $each. Пример:

collection.findOneAndUpdate(
  { name: 'yyy' }, 
  { $push: { schedule: {$each: [monday, tuesday, wednesday]}}}...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...