Ключи к объекту Mongoose отличаются от имен свойств

1

Чтобы устранить ошибку, которую я получал, я написал следующий фрагмент:

var myFunction = function(obj) {
var keys = Object.getOwnPropertyNames(obj);
console.log(obj);
console.log(keys);
}

При запуске моей функции в обратном вызове запроса mongoose консоль регистрирует это:

{_id: 5a8g123vjsdj83nf8afvn48,
username: 'Player1',
adv1: { name: 'a', type: '!' },
adv2: { name: 'a', type: '!' },
adv3: { name: 'a', type: '!' },
__v: 0,
invitations: [ 'PlayTest1', 'PlayTest2' ] }

[ '$__', 'isNew', 'errors', '_doc', '$init' ]

Теперь, насколько я понимаю, последняя строка на консоли (разделенная для удобства чтения) должна читать:

[ '_id', 'username', 'adv1', 'adv2', 'adv3', '__v', 'invitations ]

Мой вопрос в том, почему ключи obj, которые я создаю в myFunction, не содержат имена свойств, которые отображаются при регистрации реального объекта?

  • 0
    Поля документа хранятся в obj._doc
Теги:
mongoose

1 ответ

0
Лучший ответ

Поля документов Mongoose хранятся в obj._doc

console.log отображает поля документа из-за функции .inspect прикрепленной к объекту документа.

Используйте node --inspect если вы хотите что-то отладить.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню