Mongodb Mongo Db展开+;组

Mongodb Mongo Db展开+;组,mongodb,Mongodb,我已尝试了后续查询: db.getCollection("chatrooms").aggregate( // Pipeline [ // Stage 1 { $lookup: // Equality Match { from: 'userProfiles', localField: 'participants.0.userId', foreignField: '

我已尝试了后续查询:

db.getCollection("chatrooms").aggregate(

// Pipeline
[
    // Stage 1
    {
        $lookup: // Equality Match

          {
          from: 'userProfiles',
          localField: 'participants.0.userId',
          foreignField: 'userId',
          as: 'utente'
        }


        // Uncorrelated Subqueries
        // (supported as of MongoDB 3.6)
        // {
        //    from: "<collection to join>",
        //    let: { <var_1>: <expression>, …, <var_n>: <expression> },
        //    pipeline: [ <pipeline to execute on the collection to join> ],
        //    as: "<output array field>"
        // }
    },

    // Stage 2
    {
        $unwind: {
          path: "$utente",

        }
    },

    // Stage 3
    {
        $addFields: {
          "azienda": "$utente.businessName",
        }
    },

    // Stage 4
    {
        $group: {
               _id : null,
               count: { $sum: 1 }
            }
    },
],
db.getCollection(“聊天室”).aggregate(
//管道
[
//第一阶段
{
$lookup://相等匹配
{
from:'userProfiles',
localField:'participants.0.userId',
foreignField:'userId',
如:'中尉'
}
//不相关子查询
//(从MongoDB 3.6开始支持)
// {
//从:“,
//让:{:,…,:},
//管道:[],
//as:“
// }
},
//第二阶段
{
$REWIND:{
路径:“$utente”,
}
},
//第三阶段
{
$addFields:{
“azienda”:“$utente.businessName”,
}
},
//第四阶段
{
$group:{
_id:null,
计数:{$sum:1}
}
},
],

在addfields阶段,我有结果2文档,但在group阶段,我总是有0个结果,有人知道为什么我在最后一个阶段没有结果(在前一个阶段有结果)

你能发布这两个集合吗!!这是三个阶段的结果:_id:60ab7f49d9f27d965c41476e有区别:假参与者:数组创建日期:2021-05-24T10:26:17.587+00:00更新日期:2021-05-24T10:26:17.587+00:00管道的阶段4没有问题;它应该返回1个带有计数的文档。除了使用
$group
+
$sum
计数之外,还可以使用
$count
阶段(结果相同)。对MongoDB v3.6有效。