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

Заявка за агрегиране на MongoDB за преброяване

Можете да използвате агрегирането по-долу

db.users.aggregate([
  { "$match": { "_id": 2 }},
  { "$lookup": {
    "from": "follows",
    "let": { "id": "$_id" },
    "pipeline": [
      { "$facet": {
        "userFollows": [
          { "$match": { "$expr": { "$eq": ["$follower", "$$id"] }}}
        ],
        "myFollows": [
          { "$match": { "$expr": { "$eq": ["$follower", 1] }}}
        ]
      }},
      { "$project": {
        "matchedFollowed": {
          "$setIntersection": ["$userFollows.followed", "$myFollows.followed"]
        }
      }},
      { "$unwind": "$matchedFollowed" }
    ],
    "as": "user"
  }},
  { "$lookup": {
    "from": "follows",
    "let": { "ids": "$user.matchedFollowed" },
    "pipeline": [
      { "$match": { "$expr": { "$in": ["$follower", "$$ids"] }}}
    ],
    "as": "mutualConnections"
  }}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Meteor upsert еквивалент

  2. Грешка в приложението след внедряване на приложението Meteor 1.0 на heroku

  3. Android/MongoDB:NoClassDefFoundError:com.mongodb.DBPortPool

  4. MongoDB (noSQL) кога да се разделят колекции

  5. Как да получите програмно текущата база данни, в която Mongoid пише?