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

Đối sánh Elem đang trả lại tất cả dữ liệu trong khi tôi chỉ cần dữ liệu đã chọn

$ elemmatch (truy vấn) trả về tất cả các hàng trong một mảng khi có ít nhất một hàng phù hợp với tiêu chí truy vấn.

$ elemMatch (phép chiếu) chỉ trả về hàng đầu tiên của tất cả các hàng phù hợp khi được sử dụng làm phép chiếu.

Bạn có thể dễ dàng lấy tất cả các hàng phù hợp bằng cách sử dụng toán tử tổng hợp mảng $ filter .

Trong trường hợp này, chi tiết sản phẩm sẽ được lọc dựa trên tiêu chuẩn đã vượt qua.

aggregate([{
    $match: {
        "project_code": 'usha-fos'
    }
}, {
    $project: {
        "agency_code": 1,
        "client_code": 1,
        "project_code": 1,
        "product_details": {
            "$filter": {
                "input": "$product_details",
                "as": "result",
                cond: {
                    $eq: ["$$result.Division", "Electric Fans"]
                }
            }
        }
    }
}])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Xác thực không thành công khi cố gắng lưu vào mongodb

  2. MongoDB Tìm các giá trị được truyền vào không khớp

  3. Cách kết nối vùng chứa nodeJS docker với mongoDB

  4. mongo-go-driver không thành công với Thời gian chờ lựa chọn máy chủ khi sử dụng MongoDB Atlas

  5. Sắp xếp trên nhiều trường mongo DB