mongodb nodejs 查找 toarray 不显示嵌套对象结果
mongodb nodejs find toarray not showing nested object results
所以我有一个简单的 mongodb 查询,它成功地填充了结果,但它不显示文档数组的结果。结果如下所示,如您所见,它显示的是 [Objects]。请帮忙
MongoClient.connect(atlas, { useNewUrlParser: true }, (err, db) => {
if (err) throw err;
var dbo = db.db(fdb);
dbo.collection('seturoji').find({userID:
'x0aJqI6q9SV8yHrwYvvMS'}).toArray( (err, r1) => {
if (err) throw err;
console.log(r1)
})
})
[ { _id: 5b2ede6ee8d8e4be9bd7142d,
userID: 'x0aJqI6q9SV8yHrwYvvMS',
sID: '2O3KlZrTgw9zA3wxEWJieYCbFuZNrrQuEoPmPVm0BsIseDVZCt',
rootFiles: { '1': [Object], '2': [Object] } },
{ _id: 5b311367e8d8e4be9bee4e50,
userID: 'x0aJqI6q9SV8yHrwYvvMS',
sID: '2O3KlZrTgw9zbFuZNrrQuEoPmPVm0BsIseDVZCt',
rootFiles: [ [Object], [Object] ] } ]
这是使用 console.log
显示深层对象时的默认 Node.js 行为。您可以使用 util.inspect
将其格式化为 console.log
,使用 depth: null
选项:
const util = require('util');
console.log(util.inspect(object, {depth: null}));
另一种选择是使用 JSON.stringify
对其进行序列化,尤其是使用某些格式时,例如:
console.log(JSON.stringify(object, null, 4));
这将记录您的序列化对象,缩进 4 个空格。
所以我有一个简单的 mongodb 查询,它成功地填充了结果,但它不显示文档数组的结果。结果如下所示,如您所见,它显示的是 [Objects]。请帮忙
MongoClient.connect(atlas, { useNewUrlParser: true }, (err, db) => {
if (err) throw err;
var dbo = db.db(fdb);
dbo.collection('seturoji').find({userID:
'x0aJqI6q9SV8yHrwYvvMS'}).toArray( (err, r1) => {
if (err) throw err;
console.log(r1)
})
})
[ { _id: 5b2ede6ee8d8e4be9bd7142d,
userID: 'x0aJqI6q9SV8yHrwYvvMS',
sID: '2O3KlZrTgw9zA3wxEWJieYCbFuZNrrQuEoPmPVm0BsIseDVZCt',
rootFiles: { '1': [Object], '2': [Object] } },
{ _id: 5b311367e8d8e4be9bee4e50,
userID: 'x0aJqI6q9SV8yHrwYvvMS',
sID: '2O3KlZrTgw9zbFuZNrrQuEoPmPVm0BsIseDVZCt',
rootFiles: [ [Object], [Object] ] } ]
这是使用 console.log
显示深层对象时的默认 Node.js 行为。您可以使用 util.inspect
将其格式化为 console.log
,使用 depth: null
选项:
const util = require('util');
console.log(util.inspect(object, {depth: null}));
另一种选择是使用 JSON.stringify
对其进行序列化,尤其是使用某些格式时,例如:
console.log(JSON.stringify(object, null, 4));
这将记录您的序列化对象,缩进 4 个空格。