sql >> Databáze >  >> NoSQL >> MongoDB

Agregační dotaz Mongoose vrátí více než jeden záznam, když by měl vrátit pouze jeden

Změňte kanál qroup stejně jako

Musíte seskupit podle odesílatele, nikoli podle jedinečného _id

{
          $group: {
            _id: "$sender",
            sender: {
              $first: "$sender"
            },
            messageId: {
              $first: "$_id"
            },
            text: {
              $first: "$text"
            },
            date: {
              $first: "$date"
            },
            unread: {
              $first: "$unread"
            }
          }
        }

A změna v $project

$project: {
            sender: 1,
            _id: "$messageId",
            text: 1,
            date: 1,
            unread: 1
          }



  1. jak iterovat mongo kurzor ve smyčce v pythonu

  2. FindAll v MongoDB .NET Driver 2.0

  3. Co je distribuovaný atomový zámek v ovladačích mezipaměti?

  4. Připojení Mongoose k sadě replik