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
    }
  };
http://stackoverflow.com/questions/11557804/mongoose-virtual-fields-included-in-tojson-by-default-schemaoptions-tojson-virt

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Mongoose虚拟字段默认包含在JSON中:schemaOptions.toJSON.virtuals = true;默认情况下仍然不包括虚拟字段