Quero contar o usuário, as postagens e os comentários do site e enviar dados para o painel, que mostra a contagem de todos os usuários e postagens. Não consigo resolver isso. aqui está meu código
app.get('/', async (req,res)=>{
const query = User.find()
const posts = Post.find()
const user = await query.countDocuments((err,count)=>{
if(err){
console.log(err)
}else{
return count;
}
})
const post = await posts.countDocuments((err , posts)=>{
if(err){
console.log(err)
}else{
return posts;
}
})
console.log(post)
res.render('dashboard',{userCount: user , posts:post})
})
Você pode encontrar o número de documentos usando agregação:
const postCount = await posts.aggregate([{$group: {
_id : null,
count : { $sum : 1}
}}, {$project: {
_id : 0
}}]);
Você obterá resultados como: count : 11
$group
estágio selecionará registros distintos. Quando definido como nulo, ele seleciona todos os registros da coleção.
$project
estágio irá selecionar quais campos precisamos para a saída (uma vez que precisávamos apenas contar, podemos eliminar outros)
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras