@ExcaliBUR95

Как взять из подмассива id?

Есть такой код
let mathCritt = await Reviews.aggregate()
    .match({
      shop_id: mongoose.Types.ObjectId(shopId),
    })
    .lookup({
      from: "orders",
      localField: "order_id",
      foreignField: "_id",
      as: "orderArr",
    })
    .unwind("orderArr")
    .lookup({
      from: "users",
      localField: "orderArr.client",
      foreignField: "_id",
      as: "clientsArr",
    })
    .unwind("clientsArr")
    .lookup({
      from: "cities",
      localField: "clientsArr.city",
      foreignField: "_id",
      as: "cityArr",
    })
    .unwind("cityArr")
    .match({ "cityArr.id": mongoose.Types.ObjectId("cityArr._id") });


и есть такая модель
сonst reviewsSchema = new Schema(
  {
    order_id: { type: Types.ObjectId, ref: "Order", required: true },
    feedback: { type: String, required: true },
    managerReply: { type: String, required: true },
    score: { type: Number, required: true, enum: [1, 2, 3, 4, 5] },
    status_id: { type: Types.ObjectId, ref: "PendingStatus", required: true },
    shop_id: { type: Types.ObjectId, ref: "Shop", required: true },
  },


мне нужно пойти в order_id => client => city и в нем уже взять айди, либо взять просто city в client, так как он и так там выглядит как id ,если его не unwindit'
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы