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

Đường dẫn tra cứu:mảng địa phương `$ match`` $ in` khi từ giá trị là mảng và giá trị cục bộ được tìm thấy

Bạn có thể vui lòng thử cái này không:

db.collection_a.aggregate(
[{ $match: { _id: ObjectId(' ') } },
// other $lookups...
{
    $lookup: {
        as: 'collection_b',
        from: 'collection_b',
        let: { id: { $toString: '$_id' } },
        pipeline: [
            {
                $addFields: {
                    "related": {
                        "$cond": {
                            "if": {
                                "$ne": [{ "$type": "$related" }, "array"]
                            },
                            "then": [],
                            "else": "$related"
                        }
                    }
                }
            },
            {
                $match: {
                    $expr: { $in: ['$$id', '$related'] }
                }
            }
            // sorts, projections, etc...
        ]
    }
}
           // sorts, projections, etc...
]);

Như nó nói $in nhận một mảng làm tham số thứ hai và một giá trị bạn đang tìm kiếm làm tham số đầu tiên.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoid có tên phạm vi so sánh hai trường thời gian trong cùng một tài liệu

  2. Cách tổ chức mối quan hệ nhiều đến nhiều trong MongoDB

  3. MongoDB không xử lý tổng hợp với allowDiskUsage:True

  4. Google Cloud Mongo DB:IP bên ngoài không kết nối

  5. Tôi vẫn có thể truy cập khía cạnh liên hệ của sitecore sau khi phiên bị xóa?