Wie füllt man das Filialdokument einer anderen Sammlung im Mungo auf?

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.

Ich kann es nicht mit bevölkern finden,o.B ist eine objectId, o.B.name ist undefiniert.

BSchema ist ein Filialdokument von ASchema, CSchema hat eine ref-Verbindung von BSchema.

Daten wie diese:

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
  }]

Ich möchte alle CSchema finden, deren Name CSchema "c_xxx" ist, und die den Namen von CSchema B und den Namen von CSchema A anzeigen.

Dieses Ergebnis gefällt mir: {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 }); });

Ich kann es nicht mit bevölkern finden,o.B ist eine objectId, o.B.name ist undefiniert.

BSchema ist ein Filialdokument von ASchema, CSchema hat eine ref-Verbindung von BSchema.

Daten wie diese:

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
  }]

Ich möchte alle CSchema finden, deren Name CSchema "c_xxx" ist, und die den Namen von CSchema B und den Namen von CSchema A anzeigen.

Dieses Ergebnis gefällt mir: {CName: "c_xxx", BName: "b_xxx", AName: "a_xxx"}

Antworten auf die Frage(0)

Ihre Antwort auf die Frage