JSON.stringify不适用于NodeJs中的mongoose对象

当控制台mongoose对象时,我得到了一个错误。 这是我的代码:

var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test'); var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function () { console.log('Yea! we are connected.'); }); console.log(JSON.stringify(mongoose)); 

这里是错误信息:

在这里输入图像说明

您可能想要尝试util.inspect(object)方法,该方法返回util.inspect(object)的string表示forms:

 var util = require('util'); var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test'); var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function () { console.log('Yea! we are connected.'); }); console.log(util.inspect(mongoose, { showHidden: true, depth: null })); 

里面的mongoose模块有这个逻辑

 Mongoose.prototype.Mongoose = Mongoose; 

它使循环结构(对象自引用)。 你不能默认string化一个圆形对象。 如果你想使用JSON.stringify添加你的自定义逻辑句柄

 JSON.stringify(obj,function(k,v){ //logic})