mongodb nodejs находит toarray, не показывающий результаты вложенного объекта - PullRequest
0 голосов
/ 26 июня 2018

поэтому у меня есть простой запрос mongodb, который успешно заполняет результаты, но он не показывает результаты массивов документов. Результаты показаны ниже, и, как вы можете видеть, они показывают [Объекты]. Пожалуйста, помогите.

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] ] } ]

1 Ответ

0 голосов
/ 26 июня 2018

Это стандартное поведение Node.js, когда дело доходит до отображения глубоких объектов с console.log. Вы можете использовать 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 пробела.

...