Как получить поле из ссылочной модели в мангусте? - PullRequest
0 голосов
/ 28 октября 2018

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

const User= new mongoose.Schema({
  featured_projects: {
    type: [
      {
        type: Schema.Types.ObjectId,
        ref: 'Project'
      }
    ],
  }
}, {
    timestamps: true,
  });

// вывод ниже

{
    "featured_projects" : ["5bd54c7d65194f200d1c6e2d","5bd41b953fc9f040b08995df"]
}

Модель проекта хранится как

{
                "en": {
                    "isActive": true,
                    "amneties": [],
                    "carasouel_images": [],
                    "location": "location (en)",
                    "name": "name (en)"
                },
                "th": {
                    "isActive": true,
                    "amneties": [],
                    "carasouel_images": [],
                    "location": "location (th)",
                    "name": "name (th)"
                },
                "_id": "5bd54c7d65194f200d1c6e2d",
                "createdAt": "2018-10-28T05:43:25.982Z",
                "updatedAt": "2018-10-28T05:43:25.982Z",
                "__v": 0
            },

Я пытаюсь просто извлечь "en" из запроса

this.find(options)
      .populate({
        path: 'featured_projects',
        populate:'en'
      })
      .sort({ createdAt: - 1 })
      .skip(perPage * (page - 1))
      .limit(perPage)
      .exec();

Но не работает, любая помощь очень ценится, или любаяпредложение очень ценится.

Однако, если я непосредственно пытаюсь извлечь из проекта поле "en", я делаю это и работаю

this.find(options)
      .select({ [lang]: 1 })
      .sort({ createdAt: -1 })
      .skip(perPage * (page - 1))
      .limit(perPage)
      .exec();

Заранее спасибо!:)

...