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

Truy vấn MongoDB lấy bản ghi bắt đầu bằng phần tử cụ thể trong mảng

Sử dụng ký pháp dấu chấm (dot notation) kết hợp chỉ số mảng (array index). Tạo collection:

> db.arrayStartsWithElementDemo.insertOne({"PlayerName":"Chris","PlayerScore":[780,9000,456,789,987]});
{ "acknowledged": true, "insertedId": ObjectId("5cd29fed345990cee87fd889") }
> db.arrayStartsWithElementDemo.insertOne({"PlayerName":"Robert","PlayerScore":[890,670,890,54646,42424]});
{ "acknowledged": true, "insertedId": ObjectId("5cd2a00c345990cee87fd88a") }
> db.arrayStartsWithElementDemo.insertOne({"PlayerName":"David","PlayerScore":[909090,896555,3344433,78900]});
{ "acknowledged": true, "insertedId": ObjectId("5cd2a025345990cee87fd88b") }

Hiển thị tất cả

> db.arrayStartsWithElementDemo.find().pretty();

Truy vấn mảng bắt đầu bằng 890 rồi 670

> db.arrayStartsWithElementDemo.find({"PlayerScore.0": 890, "PlayerScore.1": 670}).pretty();

Kết quả (chỉ tài liệu của Robert khớp):

{
    "_id": ObjectId("5cd2a00c345990cee87fd88a"),
    "PlayerName": "Robert",
    "PlayerScore": [890, 670, 890, 54646, 42424]
}

Lưu ý: Chỉ số mảng trong MongoDB bắt đầu từ 0. Cú pháp "PlayerScore.0" truy cập phần tử đầu tiên, "PlayerScore.1" truy cập phần tử thứ hai.