Как заполнить поддокумент другой коллекции в мангусте?

ASchema = new mongoose.Schema({
  name: String,
  B: [BSchema]
});

var BSchema = new Schema({
  name: String
});

var CSchema = new Schema({
  name: String,
  B: {
    type: Schema.ObjectId,
    ref: 'BSchema'
  }
});

//This is OK, but not one time mongoose search:
CSchema.find({
    name: 'C_xxx'
  }).exec(function(err, docC) {

  docC.forEach(function(o) {
    var BId = o.B;
    ASchema.findOne({
        'B._id': BId
      }, {
        'B.

Я не могу найти это с населением,o.B является идентификатором объекта, o.B.name не определено.

BSchema - это поддокумент ASchema, CSchema имеет ссылку на соединение BSchema.

Данные как это:

ASchema = {
  name: "A_xxx",
  B: [{
      _id: 1,
      name: "B_xxx"
    }, {
      _id: 2,
      name: "B_xxx"
    }]
}
CSchema = [{
    name: "C_xxx",
    B: 1
  }, {
    name: "C_xxx",
    B: 2
  }]

Я хочу найти все CSchema с именем CSchema "c_xxx", и показывает имя B Cchema и имя A.

Как этот результат: {CName: "c_xxx", BName: "b_xxx", AName: "a_xxx"}

: 1 } ).exec(function(err, docA) { var Bname = docA.B[0].name; var Cname = docA.name; }); }); }); //wrong in populate: CSchema.find({ name: 'C_xxx' }) .populate('ASchema.B') .exec(function(err, docC) { docC.forEach(function(o) { var Bname = o.B.name; //ERROR:o.B is a objectId,o.B.name is undefined //Aname can't find }); });

Я не могу найти это с населением,o.B является идентификатором объекта, o.B.name не определено.

BSchema - это поддокумент ASchema, CSchema имеет ссылку на соединение BSchema.

Данные как это:

ASchema = {
  name: "A_xxx",
  B: [{
      _id: 1,
      name: "B_xxx"
    }, {
      _id: 2,
      name: "B_xxx"
    }]
}
CSchema = [{
    name: "C_xxx",
    B: 1
  }, {
    name: "C_xxx",
    B: 2
  }]

Я хочу найти все CSchema с именем CSchema "c_xxx", и показывает имя B Cchema и имя A.

Как этот результат: {CName: "c_xxx", BName: "b_xxx", AName: "a_xxx"}

Ответы на вопрос(0)

Ваш ответ на вопрос