MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tổng hợp MongoDB với $ lookup chỉ bao gồm (hoặc dự án) một số trường để trả về từ truy vấn

Chỉ để giúp những người khác về vấn đề này, @SiddhartAjmera có câu trả lời phù hợp, tôi chỉ cần thêm dấu ngoặc kép cho các giá trị lồng nhau như "campaign.clientid".

Mã cuối cùng phải là:

db.somecollection.aggregate([
      {
        "$lookup": {
          "from": "campaigns",
          "localField": "campId",
          "foreignField": "_id",
          "as": "campaign"
        }
      },
      {
        "$unwind": "$campaign"
      },
      {
        "$lookup": {
          "from": "entities",
          "localField": "campaign.clientid",
          "foreignField": "_id",
          "as": "campaign.client"
        }
      },
      {
        "$project": {
          "_id": 1,
          "campId": 1,
          "articleId": 1,
          "campaign._id": 1,
          "campaign.clientid": 1,
          "campaign.client._id": 1,
          "campaign.client.username": 1
        }
      }
]);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo:cách sắp xếp theo trọng lượng bên ngoài

  2. Tạo khu vực quản trị trong năm phút với AdminBro, express, mongoDB, mongoose

  3. Bảo mật Pre-Emptive với Ghi nhật ký Kiểm tra cho MongoDB

  4. Giám sát &Quản lý hoạt động của MongoDB 4.0 với ClusterControl

  5. Django-nonrel vs Django-mongodb vs Mongokit vs pymongo native