Mongoose:如何在控制台中显示对象类型混合的内容?

时间:2017-04-29 07:00:13

标签: node.js mongodb mongoose

使用以下数据

lines: [{ line: [12, 'Joe'] }, { line: [14, 'John'] }, { line: [6, 'Walter'] }, { line: [3, 'William'] }, { line: [18, 'Bill'] }, { line: [22, 'Albert'] }]

模型

const Schema = mongoose.Schema;
const Line = new Schema({
  line: [Schema.Types.Mixed]
});
const TableSchema = new mongoose.Schema({
  lines: [Line]
});

当我保存时,然后在控制台中显示该集合: 的的console.log

res.body: { __v: 0,
  _id: '590437516c71e30ee4ddcf4e',
  lines: 
   [ { _id: '590437516c71e30ee4ddcf54', line: [Object] },
     { _id: '590437516c71e30ee4ddcf53', line: [Object] },
     { _id: '590437516c71e30ee4ddcf52', line: [Object] },
     { _id: '590437516c71e30ee4ddcf51', line: [Object] },
     { _id: '590437516c71e30ee4ddcf50', line: [Object] },
     { _id: '590437516c71e30ee4ddcf4f', line: [Object] } ],

不应该吗?

   [ { _id: '590437516c71e30ee4ddcf54', line: [12, 'Joe']
   ...

为什么内部数组对象的内容没有完全显示?

感谢您的反馈

1 个答案:

答案 0 :(得分:1)

该对象与console.log()的嵌套太深,后者使用util.inspect()来检查对象。该函数的默认递归深度为2.

要将深度增加到“无穷大”,您可以使用:

console.log(util.inspect(data, { depth : null }));

或者,您可以使console.log()输出JSON:

console.log('%j', data);