Я создал простую таблицу (документ?) В mongoDB. Я использую Node и Mongoose для подключения к нему.
В моем методе я вызываю model.find({}), чтобы получить все записи, а затем перебираю их, чтобы найти ту, которая мне нужна (это внутри цикла - я думаю, что будет более эффективно ударить по БД один раз, а затем обработать в памяти чтобы каждый раз не подключаться к базе данных).
Когда я console.info совпадение, я получаю распечатку всего объекта. Однако когда я распечатываю одно свойство, оно отображается как неопределенное. Это свойство представляет собой массив, и это происходит с другим свойством, имеющим массив, который я добавил в качестве теста. Что мне здесь не хватает?
Вот мой фрагмент кода:
Documents.find({}).then(docsData => { // Documents is my model
docs.entries.forEach(entry => { // docs.entries is the collection I want to match to
const match = docsData.find(
doc => doc['dropboxId'] == entry['id']
);
if (match) {
entry['tags'] = match.tags;
console.info('match tags', match.tags); // this prints out undefined
console.info('match', match); // this prints out the object with tags
}
Любые идеи?
Я пробовал это :(



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


match - это документ Mongoose, который отличается от обычного объекта JS. Думаю, вам нужно сделать:
entry['tags'] = match.get('tags');
Спасибо! Это работает. Можете ли вы указать мне на документацию, которая предлагает это?
попробуйте получить доступ к элементу с помощью записи массива console.info ('match tags', match ["tags"]); // это распечатает