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 に答える