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

Điền các trường cụ thể trong $ lookup

Bạn có thể sử dụng tổng hợp bên dưới với mongodb 3.6 trở lên

Với $lookup cú pháp bạn có thể sử dụng $project ion bên trong $lookup đường ống dẫn

db.collection.aggregate([
  { "$group": {
    "_id": "$userId",
    "projectId": { "$push": "$projectId" }
  }},
  { "$lookup": {
    "from": "users",
    "let": { "userId": "$_id" },
    "pipeline": [
      { "$match": { "$expr": { "$eq": [ "$_id", "$$userId" ] }}},
      { "$project": { "firstName": 1 }}
    ],
    "as": "user"
  }},
  { "$unwind": "$user" },
  { "$lookup": {
    "from": "projects",
    "let": { "projectId": "$projectId" },
    "pipeline": [
      { "$match": { "$expr": { "$in": [ "$_id", "$$projectId" ] }}},
      { "$project": { "projectName": 1 }}
    ],
    "as": "projects"
  }}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Chuyển đổi DateTime ở UTC sang giờ địa phương của tôi?

  2. Sự cố với @Qualifier

  3. Cách lọc mảng trong tài liệu Mongodb bằng Spring

  4. Hạn chế của việc lưu trữ Guid dưới dạng chuỗi trong MongoDB là gì?

  5. Lời khuyên về việc di chuyển từ MongoMapper sang Mongoid?