Нет, похоже, что вы делаете это неправильно. Соединения MongoDB являются «клиентской стороной». Очень похоже на то, что вы сказали:
На данный момент я получаю комментарии, соответствующие моим критериям, затем выясняя все uid в этом наборе результатов, получая пользовательские объекты и объединяя их с комментариями. Похоже, я делаю это неправильно.
blockquote>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 все еще есть.
В последнем случае вы регистрируете функцию, но не вызываете ее. Под капотом классы - это просто функции. Когда вы вызываете его, он создает экземпляр этого класса; если вы ссылаетесь на него, не вызывая его, то вы ссылаетесь на функцию , а не на экземпляр. Рассмотрим следующий аналогичный пример:
function doSomething() {
return 4;
}
console.log(doSomething()); // Says 4
console.log(doSomething); // Says it's a function
Почему он возвращает это значение в виде массива с одним элементом, т.е.
blockquote>[Function: rectangle2]
Он не регистрирует массив, это просто странное консольное форматирование любой среды, которую вы используете. Ничто из этого не является допустимым синтаксисом JS, не ожидайте, что скобки ссылаются на массив. Вы можете попытаться записать фактический массив, содержащий функцию, и сравнить вывод.