Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Lấy chỉ số (index) của phần tử trong mảng MongoDB?

Để lấy chỉ số (index/position) của một phần tử cụ thể trong mảng, bạn sử dụng toán tử aggregation $indexOfArray (có từ MongoDB 3.4+).

Tạo dữ liệu mẫu


Hiển thị document:

{ "_id" : ObjectId("5cbd5251de8cc557214c0df8"), "InstructorName" : "Chris", "InstructorSubject" : [ "MongoDB", "MySQL", "Java", "C++" ] }

Tìm index của "MongoDB" (element đầu tiên)


Kết quả:


Tìm index của "C++" (element cuối)


Kết quả:


Giải thích $indexOfArray

  • Cú pháp: { $indexOfArray: [ , ] }
  • Trả về chỉ số đầu tiên (0-based) của giá trị trong mảng
  • Trả về -1 nếu không tìm thấy
  • Chỉ số bắt đầu từ 0 (element đầu = 0, element cuối = n-1)
  • Có overload: { $indexOfArray: [ , , , ] }

Ứng dụng: Xác định vị trí element để dùng với $slice, $set tại vị trí cụ thể, hoặc logic nghiệp vụ dựa trên thứ tự.