MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB $addFields и $in в съвкупност

Можете да използвате $mergeObjects за комбиниране на съществуващ туит с is_liked поле и след това използвайте $project за да изключите likedBy масив от крайния резултат, опитайте:

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
        }
    }
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Spring data mongodb дизайн на приложение и агрегиране на данни

  2. Сравняване на _id на mongoose и низове

  3. Mongodb агрегат на поддокумент в масив

  4. NoSQL тенденции – MongoDB, Cassandra, CouchDB и Riak

  5. Заявка за масив от вложени документи за най-висока стойност на полето