Mongoose虚拟字段默认包含在JSON中:schemaOptions.toJSON.virtuals = true;默认情况下仍然不包括虚拟字段

我在另一个答案中看到,为了包括虚拟字段,你必须像https://groups.google.com/forum/?fromgroups#!topic/mongoose-orm/HjrPAP_WXYs那样做

var schemaOptions = {
  toJSON: {
    virtuals: true
  }
};

我做了

现在在架构中:

 new Schema({...}, schemaOptions);

但是仍然如此,数据不包括虚拟..:s

但是像这样工作:

var docsCallback = function(err, docs){
    var i = docs.length;
    var nDocs = [];
    while(i--){
        nDocs[i] = docs[i].toObject({virtuals: true});
    }
    done(nDocs);
}
刚刚试过:

  var schemaOptions = {
    toObject: {
      virtuals: true
    }
  };

和工作! 😉

现在默认情况下我使用:

  var schemaOptions = {
    toObject: {
      virtuals: true
    }
    ,toJSON: {
      virtuals: true
    }
  };

转载注明原文:Mongoose虚拟字段默认包含在JSON中:schemaOptions.toJSON.virtuals = true;默认情况下仍然不包括虚拟字段 - 代码日志