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

Lọc mảng bằng toán tử $ in trong giai đoạn $ project

Kể từ $in không được hỗ trợ trong hoạt động tổng hợp cho mảng, giải pháp thay thế sẽ là bạn sử dụng $setIsSubset . Để biết thêm thông tin về điều này, bạn có thể tham khảo liên kết này. Truy vấn tổng hợp bây giờ sẽ giống như

db.test.aggregate([
{
    $project: {
        'filtered_users': {
            $filter: {
                input: '$users',
                as: 'user',
                cond: {
                   $setIsSubset: [['x'], '$$user.accounts']           
                }
            }
        }
    }
}])

Truy vấn này sẽ chỉ trả về các phần tử có [x] dưới dạng một tập hợp con của mảng trong user.accounts .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $ hoặc Nhà điều hành đường ống tổng hợp

  2. mongodb.conf bind_ip =127.0.0.1 không hoạt động nhưng 0.0.0.0 hoạt động

  3. Làm cách nào để truy cập bộ sưu tập có sẵn với Mongoose?

  4. Nodejs Mongo chèn vào subocument - Tên trường động

  5. Xác thực trong khi kết nối với phiên bản máy chủ MongoDB bằng Java