Mongodb聚合:投影一个没有第一个元素的数组

Swa*_*pna 5 mongodb aggregation-framework

{
    "_id" : ObjectId("5e3179e83708dc0dcfefaf"),

    "CaseNumber" : "T978045628",

    "ServiceReferences" : [ 

        ObjectId("5e317d48bc13eaf17712a786"),

        ObjectId("5e317f0ec08d57f4a88c3444"),

        ObjectId("5e317f0ec08d57f4a88c3234")

    ]

}
Run Code Online (Sandbox Code Playgroud)

我有一个包含上述字段的集合。我想投影除第一个元素之外的“ServiceReferences”数组,因为我想跳过数组的第一个索引元素。请帮我。我尝试过几个用例,例如:

db.getCollection('cases').aggregate([{
             "$project": {

                  "ServRefs": { $pop: { ServiceReferences: -1 } }
              }
       },
       {
        $lookup: {

            from: 'services',

            localField: 'ServRefs',

            foreignField: '_id',

            as: 'serviceDoc'

        }
    }, { $unwind: '$serviceDoc' }])
Run Code Online (Sandbox Code Playgroud)

Ash*_*hav 6

试试这个

db.getCollection('cases').aggregate([
{ $project: { ServiceReferences: 1, SerRef: { $slice: [ "$ServiceReferences", 1, {$subtract: [ {$size:"$ServiceReferences"}, 1 ]} ] }} }
])
Run Code Online (Sandbox Code Playgroud)