mongoDB:获取对象数组的所有值

时间:2016-02-01 10:33:53

标签: javascript mongodb

如果这是我的文件结构......

sed

...我想在结果数组中获取所有商品名,这就是我正在做的事情:

{
    "_id" : "8vJY4baMbdYkgHian",
    "title" : "Cars",
    "tradename" : [
        {
            "element" : "Audi"
        },
        {
            "element" : "Mercedes"
        }
    ]
}

但它不起作用。

1 个答案:

答案 0 :(得分:1)

您可以使用map函数获取所有tradename.element值的数组。

这看起来像是:

var result = [];
Collection.find(
    { tradename: { $elemMatch: { element: { $exists: true } } } })
.forEach(function(res) {
    result.push({
        id: res._id,
        value: res.tradename.map(function(tradename) {
            return tradename.element;
        }),
        type: 'article'
    });
});