我试图从mongodb中的对象数组中找到一个特定的对象。
我正在尝试这个
Company.findOne ({
"configuration.macAddress": "AB-90-dF-8d"
});
它返回确切的公司,但它返回所有配置数组 我只想配置匹配的macAddress
答案 0 :(得分:0)
你可以使用$ elemMatch来查找数组中的特定对象。
Company.find({configuration:{$ elemMatch:{macAddress:" AB-90-dF-8d"}}}};
你能告诉我你的对象数组吗?
答案 1 :(得分:0)
而是使用aggregate()。 $首先展开配置数组,然后你只能匹配特定元素。
Company.aggregate([
{
"$unwind": "$configuration"
},
{
"$match":{
"configuration.macAddress": "AB-90-dF-8d"
}
}
]);