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

Phép chiếu mảng đa chiều MongoDB

Bạn có thể sử dụng khung tổng hợp:

db.test.aggregate([
    { $unwind: '$arr' },
    { $limit: 1 },
    { $project: { _id: 0, arr: 1 } },
    { $unwind: '$arr' },
    { $skip: 1 },
    { $limit: 1 }
])

Lợi nhuận:

{ "arr": 22 }

Chỉnh sửa: Người đăng ban đầu đã sửa đổi giải pháp của tôi để phù hợp với nhu cầu của anh ấy và đưa ra những điều sau:

db.test.aggregate([
    { $match: { name:"Olivia" } },
    { $project: { _id: 0,arr: 1 } },
    { $unwind: '$arr' },
    { $skip: 1 },
    { $limit:1 },
    { $unwind: "$arr" },
    { $skip: 2 },
    { $limit: 1 }
])

Truy vấn này sẽ dẫn đến { arr: 77 } dựa trên dữ liệu mở rộng do OP cung cấp. Lưu ý rằng $ bỏ qua và $ giới hạn là cần thiết để chọn các phần tử phù hợp trong phân cấp mảng.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Thêm một trường vào tài liệu MongoDB hiện có (với Mongoose trong Node.js)

  2. mongodb chưa xóa bỏ trường trống khi cập nhật

  3. Tập lệnh MongoDB để sao lưu bản sao được đặt cục bộ vào Windows Server

  4. Sắp xếp một mảng lồng nhau trong mongoose

  5. k8s / python:Làm cách nào để đọc bí mật bằng ứng dụng Kubernetes Python?