2016-08-16 70 views
0

我想从MongoDB中的对象数组中找到特定的对象。搜索特定元素在数组中mongodb

我想这

Company.findOne ({ 
"configuration.macAddress": "AB-90-dF-8d" 
}); 

它返回我确切的公司,但它返回所有配置阵列 我想匹配MACADDRESS

回答

0

只能使用配置$ elemMatch查找特定对象在一个数组中。

Company.find({configuration:{$ elemMatch:{macAddress:“AB-90-dF-8d”}}});

你能告诉我你的数组对象吗?

0

改为使用aggregate()。 $首先展开配置数组,然后您可以只匹配特定元素。

Company.aggregate([ 
    { 
     "$unwind": "$configuration" 
    }, 
    { 
     "$match":{ 
      "configuration.macAddress": "AB-90-dF-8d" 
     } 
    } 
]);