Я хочу использовать массив объектов для запроса коллекции. Объект массива имеет поле с именем «userDBID» и различные другие поля.

Этот ответ почти отвечает на мой вопрос здесь

В моей ситуации мне интересно, как найти этот путь.

var placements = [
  {
    userDBID: "id1",
    field: "fieldvalue"
  },
  {
    userDBID: "id1",
    field: "fieldvalue"
  }
];

usermodel.find({ _id: { $elemMatch: placements["userDBID"] } }).lean();

Я хочу перебрать массив мест размещения и использовать userDBID в каждом объекте для зацикленного запроса.

Я знаю, что могу добиться этого, если у меня есть массив идентификаторов пользовательских БД, например, так:

var ids = ["userid1", "userid2"].

usermodel.find({ _id: { $in: ids } }).lean();

Я пытаюсь увидеть, как это делается, не создавая массив строк идентификаторов из мест размещения, а вместо этого использую массив мест размещения ,

На данный момент это именно то, что я использую именно в моем маршрутизаторе

aRouter.get("/api/user/company/:companyID", async function(req, res) {
  const { companyID } = req.params;
  try {
    let company = await CompanyModel.findById(companyID).populate("placements").lean();
    var userDBIDs = [];
    company.placements.forEach(p => userDBIDs.push(p.userDBID));
    let users = await UserModel.find({ _id: { $in: userDBIDs } }).lean();
    res.status(200).json(users);
  } catch (err) { res.status(500).json(err); }
});

Цель состоит в том, чтобы убрать необходимость в массиве userDBIDs и цикле forEach () и использовать только массив мест размещения

Я прочитал много постов, но изо всех сил, чтобы увидеть что-нибудь подобное. Я не могу найти никаких примеров в документации Мангуста. Я надеюсь, что оператор $ all или $ elemMatch может быть использован каким-либо образом, возможно, с некоторыми другими комбинированными операторами

Daniel