выражения именованных классов, возвращающие разные значения

Нет, похоже, что вы делаете это неправильно. Соединения MongoDB являются «клиентской стороной». Очень похоже на то, что вы сказали:

На данный момент я получаю комментарии, соответствующие моим критериям, затем выясняя все uid в этом наборе результатов, получая пользовательские объекты и объединяя их с комментариями. Похоже, я делаю это неправильно.

1) Select from the collection you're interested in.
2) From that collection pull out ID's you need
3) Select from other collections
4) Decorate your original results.

Это не «реальное» соединение, но на самом деле оно намного полезнее, чем соединение SQL, потому что вам не нужно иметь дело с дубликатом строки для «многих» сторонних объединений, вместо этого вы украшаете первоначально выбранный набор.

На этой странице много глупостей и FUD. Оказывается, 5 лет спустя MongoDB все еще есть.

0
задан ABHISHEK PARASHAR 17 January 2019 в 14:55
поделиться

2 ответа

В последнем случае вы регистрируете функцию, но не вызываете ее. Под капотом классы - это просто функции. Когда вы вызываете его, он создает экземпляр этого класса; если вы ссылаетесь на него, не вызывая его, то вы ссылаетесь на функцию , а не на экземпляр. Рассмотрим следующий аналогичный пример:

function doSomething() {
    return 4;
}
console.log(doSomething()); // Says 4
console.log(doSomething); // Says it's a function
0
ответ дан IceMetalPunk 17 January 2019 в 14:55
поделиться

Почему он возвращает это значение в виде массива с одним элементом, т.е. [Function: rectangle2]

Он не регистрирует массив, это просто странное консольное форматирование любой среды, которую вы используете. Ничто из этого не является допустимым синтаксисом JS, не ожидайте, что скобки ссылаются на массив. Вы можете попытаться записать фактический массив, содержащий функцию, и сравнить вывод.

0
ответ дан Bergi 17 January 2019 в 14:55
поделиться
Другие вопросы по тегам:

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