Hướng dẫn mongodb embedded document query - truy vấn tài liệu nhúng mongodb

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

Show

    Sử dụng menu chọn ngôn ngữ của bạn ở phía trên bên phải để đặt ngôn ngữ của các ví dụ sau.Select your language drop-down menu in the upper-right to set the language of the following examples.


    Ví dụ: truy vấn sau chọn tất cả các tài liệu trong đó trường size bằng tài liệu { h: 14, w: 21, uom: "cm" }:

    Bình đẳng khớp với toàn bộ tài liệu nhúng yêu cầu một kết hợp chính xác của tài liệu <value> được chỉ định, bao gồm cả thứ tự trường. Ví dụ: truy vấn sau không khớp với bất kỳ tài liệu nào trong bộ sưu tập inventory:

    Để chỉ định một điều kiện truy vấn trên các trường trong tài liệu nhúng/lồng nhau, hãy sử dụng ký hiệu DOT ("field.nestedField").

    Ghi chú

    Khi truy vấn sử dụng ký hiệu DOT, trường và trường lồng nhau phải ở bên trong dấu ngoặc kép.

    Ví dụ sau chọn tất cả các tài liệu trong đó trường uom lồng nhau trong trường size bằng

    SELECT _id, item, status from inventory WHERE status = "A"

    0:

    Truy vấn sau sử dụng ít hơn toán tử (

    SELECT _id, item, status from inventory WHERE status = "A"

    1) trên trường

    SELECT _id, item, status from inventory WHERE status = "A"

    2 được nhúng trong trường size:

    Truy vấn sau chọn tất cả các tài liệu trong đó trường lồng nhau

    SELECT _id, item, status from inventory WHERE status = "A"

    2 nhỏ hơn

    SELECT _id, item, status from inventory WHERE status = "A"

    5, trường lồng nhau uom bằng

    SELECT _id, item, status from inventory WHERE status = "A"

    0 và trường

    SELECT _id, item, status from inventory WHERE status = "A"

    8 bằng

    SELECT _id, item, status from inventory WHERE status = "A"

    9:

    Để biết các ví dụ truy vấn bổ sung, xem:

    • Tài liệu truy vấn

    • Truy vấn một mảng

    • Truy vấn một loạt các tài liệu nhúng

    Bắt đầu từ MongoDB 4.4, bạn cũng có thể chỉ định các trường được nhúng bằng mẫu lồng nhau, ví dụ: { h: 14, w: 21, uom: "cm" }4.MongoDB Manual

    Bạn có thể ngăn chặn các trường cụ thể trong một tài liệu nhúng. Sử dụng ký hiệu dấu chấm để tham khảo trường nhúng trong tài liệu chiếu và được đặt thành size1.

    • Ví dụ sau đây chỉ định một hình chiếu để loại trừ trường uom bên trong tài liệu size. Tất cả các trường khác được trả về trong các tài liệu phù hợp:
    • Bắt đầu từ MongoDB 4.4, bạn cũng có thể chỉ định các trường được nhúng bằng mẫu lồng nhau, ví dụ: { h: 14, w: 21, uom: "cm" }8.
    • Sử dụng ký hiệu DOT để dự án các trường cụ thể bên trong các tài liệu được nhúng trong một mảng.
    • Ví dụ sau đây chỉ định một dự đoán để trả về:
    • Trường <value>2 trong các tài liệu được nhúng trong mảng size4.
    • Bắt đầu từ MongoDB 4.4, MongoDB thực thi các hạn chế bổ sung liên quan đến các dự đoán. Xem các hạn chế dự đoán để biết chi tiết.
    • Mẹo
    • Tài liệu về nhà → Hướng dẫn sử dụng MongoDB
    • Trên trang này


    Trả lại tất cả các trường trong các tài liệu phù hợpSelect your language drop-down menu in the upper-right to set the language of the following examples.


    Trả về các trường được chỉ định và trường

    SELECT item, status from inventory WHERE status = "A"

    0 chỉ

    Triệt tiêu trường

    SELECT item, status from inventory WHERE status = "A"

    0

    Hoạt động tương ứng với câu lệnh SQL sau:

    SELECT * from inventory WHERE status = "A"

    Trả lại tất cả trừ các trường bị loại trừ

    Hoạt động tương ứng với câu lệnh SQL sau:

    SELECT _id, item, status from inventory WHERE status = "A"

    Bạn có thể xóa trường

    SELECT item, status from inventory WHERE status = "A"

    0 khỏi kết quả bằng cách đặt nó thành size1 trong phép chiếu, như trong ví dụ sau:

    Hoạt động tương ứng với câu lệnh SQL sau:

    SELECT item, status from inventory WHERE status = "A"

    Ghi chú

    Ngoại trừ trường

    SELECT item, status from inventory WHERE status = "A"

    0, bạn không thể kết hợp các câu lệnh bao gồm và loại trừ trong các tài liệu chiếu.

    Thay vì liệt kê các trường để trả về trong tài liệu phù hợp, bạn có thể sử dụng một phép chiếu để loại trừ các trường cụ thể. Ví dụ sau đây trả về tất cả các trường ngoại trừ các trường

    SELECT _id, item, status from inventory WHERE status = "A"

    8 và size4 trong các tài liệu phù hợp:

    Ghi chú

    Ngoại trừ trường

    SELECT item, status from inventory WHERE status = "A"

    0, bạn không thể kết hợp các câu lệnh bao gồm và loại trừ trong các tài liệu chiếu.

    Thay vì liệt kê các trường để trả về trong tài liệu phù hợp, bạn có thể sử dụng một phép chiếu để loại trừ các trường cụ thể. Ví dụ sau đây trả về tất cả các trường ngoại trừ các trường

    SELECT _id, item, status from inventory WHERE status = "A"

    8 và size4 trong các tài liệu phù hợp:

    Bạn có thể trả về các trường cụ thể trong một tài liệu nhúng. Sử dụng ký hiệu dấu chấm để tham khảo trường nhúng và đặt thành

    SELECT item, status from inventory WHERE status = "A"

    6 trong tài liệu chiếu.

    • Ví dụ sau trả về:

    • Trường

      SELECT item, status from inventory WHERE status = "A"

      0 (được trả về theo mặc định),

    • Trường

      SELECT item, status from inventory WHERE status = "A"

      7,

    • Trường

      SELECT _id, item, status from inventory WHERE status = "A"

      8,

    Trường uom trong tài liệu size.

    Trường uom vẫn được nhúng trong tài liệu size.

    Bạn có thể ngăn chặn các trường cụ thể trong một tài liệu nhúng.Sử dụng ký hiệu dấu chấm để tham khảo trường nhúng trong tài liệu chiếu và được đặt thành size1.

    Ví dụ sau đây chỉ định một hình chiếu để loại trừ trường uom bên trong tài liệu size.Tất cả các trường khác được trả về trong các tài liệu phù hợp:

    Bắt đầu từ MongoDB 4.4, bạn cũng có thể chỉ định các trường được nhúng bằng mẫu lồng nhau, ví dụ:{ h: 14, w: 21, uom: "cm" }8.

    Sử dụng ký hiệu DOT để dự án các trường cụ thể bên trong các tài liệu được nhúng trong một mảng.

    Ví dụ sau đây chỉ định một dự đoán để trả về:

    • Trường

      SELECT item, status from inventory WHERE status = "A"

      0 (được trả về theo mặc định),

    • Trường

      SELECT item, status from inventory WHERE status = "A"

      7,

    • Trường

      SELECT _id, item, status from inventory WHERE status = "A"

      8,

    • Trường <value>2 trong các tài liệu được nhúng trong mảng size4.

    Bắt đầu từ MongoDB 4.4, MongoDB thực thi các hạn chế bổ sung liên quan đến các dự đoán.Xem các hạn chế dự đoán để biết chi tiết.

    Mẹo