Задать вопрос
@KnightForce

Как отфильтровать результат запроса из Mongoose?

Используя Mongoose с помощью find({}) получаю все документы, но при переборе в цикле там много всего вспомогательного (смотрел, выводя в консоль), но мне нужны ТОЛЬКО поля.
Есть ли способ фильтрации?
При:

User.find({}, function(err, docs){
      for(let key in docs) {
        console.log(docs[key]);
      }
    });


Вот часть вывода docs[key]:

{ status: 'active',
    ID: '2',
    _id: 5877e9f30d64858af7b3dd6c }
    { [Function] numAsyncPres: 1 }
    [Function: wrappedPointCut]
    { '$__original_save': 
    [ { [Function: fn] isAsync: false },
    { [Function: fn] isAsync: true } ],
    '$__original_validate': [ { [Function: fn] isAsync: true } ],
    '$__original_remove': [ { [Function: fn] isAsync: true } ] }
    { '$__original_save': [],
    '$__original_validate': [],
    '$__original_remove': [] }
    { [Function] numAsyncPres: 1 }
    [Function: wrappedPointCut]
    { [Function] numAsyncPres: 1 }
    [Function: wrappedPointCut]
    NativeConnection {
    base: 
    Mongoose {
    connections: [ [Object], [Object], [Object], [Object], [Circular] ],
    plugins: [],
    models: {},
    modelSchemas: { User: [Object], Patient: [Object] },
    options: { pluralization: true } },
    collections: 
    { users: 
    NativeCollection {
    collection: [Object],
    opts: [Object],
    name: 'users',
    collectionName: 'users',
    conn: [Circular],
    queue: [],
    buffer: false,
    emitter: [Object] } },
    models: 
    { User: 
    { [Function: model]
    hooks: [Object],
    base: [Object],
    modelName: 'User',
    model: [Function: model],
    db: [Circular],
    discriminators: undefined,
    schema: [Object],
    collection: [Object],
    Query: [Object],
    '$__insertMany': [Function],
    insertMany: [Function] } },
    config: { autoIndex: true },


Мне нужно только это:

{ status: 'active',
        ID: '2',
        _id: 5877e9f30d64858af7b3dd6c }


Есть идеи как это отфильтровать самому, но не хочется писать костыль.
  • Вопрос задан
  • 362 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@KnightForce Автор вопроса
Нашел выход:
find({}).lean().exec(function(err, docs){});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы