Заполните две коллекции в мангусте - PullRequest
0 голосов
/ 10 апреля 2020

Вот моя пользовательская схема:

  _id: mongoose.Schema.Types.ObjectId,
  name: String,
  username: String,
  password: String,
  googleId: String,
  files: [{
    type: mongoose.Schema.Types.ObjectId,
    ref: "File"
  }]
});

Это моя файловая схема:

  leader: {
    type: mongoose.Schema.Types.ObjectId,
    ref: "User"
  },
  p_name: String,
  trade: String,
  description: String
});

Вот запрос POST файла:

  const file1 = new File({
    p_name: req.body.p_name,
    trade: req.body.trade,
    description: req.body.description,
    leader: User._id // assign the _id from the person
  });
  User.findById(req.user.id, function(err, foundUser) {
    if (err) {
      console.log(err);
    } else {
      if (foundUser) {
        console.log(foundUser.name);
        foundUser.files = file1;
        file1.save(function(err) {
          if (err) {
            console.log(err);
          }
          res.redirect("/afterlogin");
        });
      }
    }
  });
});

И это запрос GET:

  User.findById(req.user.id, function(err, foundUser) {
    if (err) {
      console.log(err);
    } else {
      if (foundUser) {
        console.log(foundUser.name);
        res.render("afterlogin", {
          ename: foundUser
        });
      }
    }
  }).populate("files").exec(function(err, c) {
    if (err) {
      console.log(err);
    }
    console.log(c.files);
  });;
});

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

console.log(c.files);

выводит

[]

В окне консоли.

...