我的数据如下:
let data = {
"options": [
{
"_id": "",
"name": "(空白)",
"title": "(空白)"
},
{
"_id": "627a34559e8e6e00240473bd",
"name": "苹果",
"title": "苹果"
},
{
"_id": "627a345c9e8e6e00240473c0",
"name": "橘子",
"title": "橘子"
},
{
"_id": "627a34639e8e6e00240473c3",
"name": "火龙果",
"title": "火龙果"
},
{
"_id": "627a35069e8e6e00240473d6",
"name": "香蕉",
"title": "香蕉"
},
{
"_id": "6360b6bf6e220100245e958e",
"name": "西瓜",
"title": "西瓜"
},
{
"_id": "6360c7d56e220100245e95fd",
"name": "哈密瓜",
"title": "哈密瓜"
}
],
}
我的条件如下:
let filters = {
"options.fruit": {
"$in": [
"627a34559e8e6e00240473bd",
"627a345c9e8e6e00240473c0",
"627a35069e8e6e00240473d6"
]
},
}
我的问题:
有办法直接根据我的filters条件直接筛选出匹配的数据吗?
就是说根据 filters 的一个完整对象筛
因为对象里面的 options.fruit 是会变的 $in 也是会变的 所以是不能取到对象内层的
我期望的效果如下:(经过filters条件筛选之后)
let results = {
"options": [
{
"_id": "",
"name": "(空白)",
"title": "(空白)"
},
{
"_id": "627a34559e8e6e00240473bd",
"name": "苹果",
"title": "苹果"
},
{
"_id": "627a345c9e8e6e00240473c0",
"name": "橘子",
"title": "橘子"
},
{
"_id": "627a35069e8e6e00240473d6",
"name": "香蕉",
"title": "香蕉"
},
],
}