MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB $addFields e $in in totale

Puoi utilizzare $mergeObjects per combinare il tweet esistente con is_liked campo e quindi utilizzare $project per escludere likedBy array dal risultato finale, prova:

db.gamers.aggregate([
    {
        $project: {
            tweets: {
                $map: {
                    input: "$tweets",
                    as: "tweet",
                    in: {
                        $mergeObjects: [
                            "$$tweet",
                            { is_liked: { $in: [ "some-random-dude", { $ifNull: [ "$$tweet.likedBy", [] ] } ] } }
                        ]                            
                    }
                }
            }
        } 
    },
    {
        $project: {
            "tweets.likedBy": 0
        }
    }
])