0

我有疑问

db.getCollection('collectionName').aggregate([
{
    $project: {
        '_id':1,
        'arrayField': {
            $filter: {
                input: '$arrayField',
                as: 'arrayField',
                cond: { $or: [ 
                    {$eq: [ [LUUID("********-****-****-****-************")],['$$arrayField._id'] ] },
                    {$eq: [ [LUUID("********-****-****-****-************")],['$$arrayField._id'] ] }
                  ] }
            }
        }
    }
}])

它在 MongoTemplate 中的外观如何?并且可以重写cond吗?

4

1 回答 1

0

cond改写为:

 db.getCollection('collectionName').aggregate([
    {
        $project: {
            '_id':1,
            'arrayField': {
                $filter: {
                    input: '$arrayField',
                    as: 'arrayField',
                    cond: 
                        { "$setIsSubset": [
                            { "$map": {
                                "input": ["$$arrayField._id"],
                                "as": "el",
                                "in": "$$el"
                            }},
                            [ LUUID("********-****-****-****-************") ,LUUID("********-****-****-****-************")],
                        ]}
                }
            }
        }
    }])
于 2017-07-05T08:14:02.293 回答