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

Cách hợp nhất dữ liệu từ hai bộ sưu tập trong MongoDB

Mã kiểm tra tại đây

Bạn muốn $lookup nhưng bạn muốn SQL giống như phép nối, tất cả các trường trong tài liệu gốc để thư mục gốc và thay thế được thêm vào để hợp nhất trong 1 tài liệu.

Truy vấn

db.user_relations.aggregate([
  {
    "$match": {
      "$expr": {
        "$eq": [
          "$userId",
          "userId1"
        ]
      }
    }
  },
  {
    "$unwind": {
      "path": "$friendsArray"
    }
  },
  {
    "$sort": {
      "friendsArray.lastTimeStamp": 1
    }
  },
  {
    "$limit": 10
  },
  {
    "$replaceRoot": {
      "newRoot": "$friendsArray"
    }
  },
  {
    "$lookup": {
      "from": "users",
      "localField": "userId",
      "foreignField": "_id",
      "as": "joined__"
    }
  },
  {
    "$unwind": {
      "path": "$joined__"
    }
  },
  {
    "$replaceRoot": {
      "newRoot": {
        "$mergeObjects": [
          "$joined__",
          "$$ROOT"
        ]
      }
    }
  },
  {
    "$project": {
      "joined__": 0
    }
  }
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Gặp lỗi trong vấn đề truyền mongodb cho id đối tượng hợp lệ

  2. Công cụ tạo hình ảnh trực quan từ MongoDB hiện có

  3. Làm cách nào để lưu dữ liệu của tôi trên mongoDB bằng cách sử dụng expressjs?

  4. Chỉ mục Mongoose trên một trường trong tài liệu lồng nhau

  5. Làm thế nào để chuyển đổi một pymongo.cursor.Cursor thành một dict?