Mongodb 仅获取与MongooseJs中的查询匹配的子数组

Mongodb 仅获取与MongooseJs中的查询匹配的子数组,mongodb,Mongodb,我是mongodb和mongoose的新手,在获取子阵列时遇到了麻烦 我的数据如下: [ {_id : ..., name : 'Category name1', products : [ { code : 'zxcv' name : 'T-Shirt 1', items : [

我是mongodb和mongoose的新手,在获取子阵列时遇到了麻烦

我的数据如下:

    [
     {_id : ...,
     name : 'Category name1',
     products : [
                    {
                    code : 'zxcv'
                    name : 'T-Shirt 1',
                    items : [
                          {code:'zxcv', size : 'S'}
                          {code:'zxcv', size : 'M'}
                          {code:'zxcv', size : 'L'}
                          {code:'zxcv', size : 'XL'}

                        ]
                     },
                     {
                    code : 'qwerty'
                    name : 'T-Shirt 2',
                    items : [
                          {code:'qwerty', size : 'S'}
                          {code:'qwerty', size : 'M'}
                          {code:'qwerty', size : 'L'}
                          {code:'qwerty', size : 'XL'}

                        ]
                     }
                 ]
            },
            {_id : ...,
             name : 'Category name2',
             products : [ ... ]
             }
        ]
我只想得到代码为'zxcv'的产品

如果我这样做:

ProductGroup.find({'products.code' : 'zxcv'},function(err, products){})

我得到了所有第一类产品——不仅仅是代码为“zxcv”的产品。

我找到了答案。因为我花了几个小时寻找答案,但却找不到答案,也许这会帮助另一个有同样问题的noob:

要仅获得匹配的产品,请执行以下操作:

ProductGroup.find({'products.code' : 'zxcv'},'products.code.$.items', function(err, products){})
可能重复的