#node.js #mongodb #mongoose
Вопрос:
Это запрос, который я написал здесь, я присоединяюсь к таблице рецептов и таблице пользователей. В таблице рецептов есть поле «опубликовано», в которое входит имя _id
пользователя, опубликовавшего этот рецепт.
const Recipe = mongoose.model("Recipe");
Recipe.aggregate([
{
$project: {
title: 1,
steps: 1,
serves: 1,
cuisine_type: 1,
time: 1,
Ingredients: 1,
foodtype: 1,
postedby: 1,
photo: 1,
likes: {
$size: '$likes'
},
}
},
{
$match: { // Filter documents that don't have likes >= 0
likes: {
$gte: 0
}
}
}
]).lookup({ from: 'users', localField: 'postedby', foreignField: '_id', as: 'usersnamee' })
.then(doc => {
if (!doc) {
return res.status(422).json({ error: "Cannot find recipes" })
}
console.log(doc)
})
})
Вот результат, который я получил: взгляните на поле имя пользователя
Комментарии:
1. ответ просто завернут в представление консоли, три-это данные результата, строковый ответ и его консоль.
2. Спасибо @turivishal , я только что добавил console.log(JSON.stringify(doc)) и получил желаемый ответ. Теперь это кажется глупым вопросом.