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

Tra cứu MongoDB $ trên tài liệu lồng nhau

trong trường hợp này, cần có một trò chơi hay với $ unwind và $ project trong khung tổng hợp

vui lòng xem bên dưới:

db.alumni.aggregate([
    {$match: {_id: 'john'}},
    {$unwind:"$items"},
    {$unwind:"$items.items"},
    {$lookup: {
        from: 'schools', 
        localField: 'items.items.school', 
        foreignField: '_id', 
        as: 'schoolInfo'}},
    {$unwind:"$schoolInfo"},
    {$project:{
        "_id":1,
        "items":[{
            "name":"$items.name",
            "items":[{
            "school":"$schoolInfo._id"    ,
            "grad":"$items.items.grad"    ,
            "schoolInfo":"$schoolInfo"
            }]
        }]            
    }}
]).pretty()

để xem nó hoạt động như thế nào - hãy thử xóa các giai đoạn tổng hợp khỏi truy vấn và kiểm tra cấu trúc tài liệu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tạo chỉ mục văn bản đa ngôn ngữ trong MongoDB

  2. MongoDB:Sắp xếp dữ liệu khi sử dụng DBcollection find

  3. trả lại tài liệu với tài liệu con mới nhất chỉ trong mongodb tổng hợp

  4. Mongoose, kéo từ subocument

  5. runCommand tương đương cho nodejs-native-mongodb