Вы можете присоединиться к двум коллекциям в Монго, используя поиск, который предлагается в версии 3.2. В вашем случае запрос будет
db.comments.aggregate({
$lookup:{
from:"users",
localField:"uid",
foreignField:"uid",
as:"users_comments"
}
})
, или вы также можете присоединиться к пользователям, тогда будет небольшое изменение, как указано ниже.
db.users.aggregate({
$lookup:{
from:"comments",
localField:"uid",
foreignField:"uid",
as:"users_comments"
}
})
Он будет работать так же, как левое и правое соединение в SQL.
Если a
является степенью b
, то a
делится на b
. Логически противоположное также верно, т. Е. Если a
не делится на b
, то a
не является степенью b
. Вот где ваша функция is_divisible
, возможно, входит - вырываться из рекурсии, а не распространять ее.
Если is_divisible(a, b)
возвращает True
, то вы переходите ко второму условию, a/b
является степенью b
. Есть ли у нас функция, которая при получении двух чисел проверяет, является ли одно из них степенью другого? Это условие для распространения рекурсии.
Подумайте, каким будет ваш базовый случай, если a
окажется степенью b
.