2016-08-16 48 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" 
     } 
    } 
]);