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

Mongodb - nhóm $ bên trong nhóm $ (bằng 'key')

Bạn có thể thêm $cond lồng nhau để lọc các khóa 123 hoặc 456. Sau đó, một $project cuối cùng giai đoạn có thể được sử dụng để xây dựng mảng.

db.events.aggregate([
    {"$group":
        {   "_id":"$KLLS",
            "Processus":{"$push":{"$cond":[{"$eq":["$type","Processus"]},'$$ROOT',false]}},
            "Work123":
                {"$push":
                    {"$cond":
                        [
                            {"$eq":["$type","Work"]},
                            {"$cond":
                                [
                                    {"$eq":["$key","123"]},
                                    '$$ROOT',
                                    false
                                ]
                            },
                            false
                        ]
                    }
                },
            "Work456":
                {"$push":
                    {"$cond":
                        [
                            {"$eq":["$type","Work"]},
                            {"$cond":
                                [
                                    {"$eq":["$key","456"]},
                                    '$$ROOT',
                                    false
                                ]
                            },
                            false
                        ]
                    }
                },
            "Viewing":{"$push":{"$cond":[{"$eq":["$type","Viewing"]},'$$ROOT',false]}}
        }
    },
    {"$project": { "_id":0, "KLLS":"$_id", "Processus":{"$setDifference":["$Processus",[false]]},
        "123":{"$setDifference":["$Work123",[false]]},
        "456":{"$setDifference":["$Work456",[false]]},
        "Viewing":{"$setDifference":["$Viewing",[false]]}
        }
    },
    {"$project": { "KLLS":1, "Processus":1, "Work" : [{"123" : "$123"}, {"456" : "$456"}],"Viewing":1}}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhóm MongoDB $ và hình thành nhóm rõ ràng với cột được tính toán

  2. return database_name ==':memory:' hoặc 'mode =memory' trong database_name TypeError:đối số kiểu 'WindowsPath' không thể lặp lại

  3. CastError:Không thể truyền tới ObjectId cho giá trị route-name tại path _id cho mô hình

  4. Làm thế nào để giải quyết TypeError:callback.apply không phải là một hàm?

  5. MongoDB $ và Nhà điều hành đường ống tổng hợp