Есть ли способ доступа к документам, хранящимся в одномерном массиве? - PullRequest
0 голосов
/ 13 февраля 2020

При получении результатов из базы данных mon go мои документы хранятся в одномерном массиве в следующей форме: Имя массива: результат,

result = [{
     _id: 5e3a5a39743a88182f4dc267,
    ID: 1,
    column_1: 'R1C1',
    column_2: 'R1C2',
    column_3: 'R1C3',
    column_4: 'R1C4',
    column_5: 'R1C5',
    column_6: 'R1C6',
    column_7: 'R1C7',
    column_8: 'R1C8',
    column_9: 'R1C9',
    .....
}, {
     _id: 5e3a5a39743a88182f4dc271,
    ID: 2,
    column_1: 'R1C1',
    column_2: 'R1C2',
    column_3: 'R1C3',
    column_4: 'R1C4',
    column_5: 'R1C5',
    column_6: 'R1C6',
    column_7: 'R1C7',
    column_8: 'R1C8',
    column_9: 'R1C9',
    .....
},
...
]

В этом поле есть 1000 таких полей. каждые документы и 10000 документов соответственно. Я использовал следующую команду для извлечения результатов и сохранения в массиве:

db.collection('Employee').find({}).limit(1).toArray(function (err, result)

Мой девиз - извлекать и отображать только одну запись из массива 'result', например, column_1: R1C1 и т.п. , Я не могу получить к нему доступ по отдельности, пожалуйста, помогите мне решить эту проблему и, если возможно, сообщите код.

Спасибо.

1 Ответ

1 голос
/ 13 февраля 2020

Вы можете использовать второй аргумент для find, называемый проекцией, для выбора указанных c полей, которые будут возвращены. См. документацию здесь .

Например

db.collection('Employee')
   .find({}, {column_1: 1})
   .limit(1)
   .toArray(function (err, result)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...