猿问

console.log 会调用 mongoose 文档的 toObject 方法?

const mongoose = require('mongoose')

mongoose.connect('mongodb://localhost/test')

const A = mongoose.model('A', new mongoose.Schema({name: String}))


A.create({name: 'aaa'}, (err, doc) => {

  console.log(doc) // { _id: 5ae424bdcc21a02b700f9342, name: 'aaa', __v: 0 }

  doc.toObject = o => 0

  console.log(doc) // 0

})

// ------------------------------------

A.create({name: 'aaa'}, (err, doc) => {

  console.log(doc) // { _id: 5ae42509ae09661d681416f8, name: 'aaa', __v: 0 }

  doc.toObject = 0

  console.log(doc) // 报错: TypeError: this.toObject is not a function

})


明月笑刀无情
浏览 383回答 1
1回答

潇湘沐

是调用了toString。Document.prototype.inspect = function(options) {  var isPOJO = options &&    utils.getFunctionName(options.constructor) === 'Object';  var opts;  if (isPOJO) {    opts = options;    opts.minimize = false;  }  return this.toObject(opts);};/** * Helper for console.log * * @api public * @method toString * @memberOf Document */Document.prototype.toString = function() {  return inspect(this.inspect());};
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答