【发布时间】:2018-11-29 10:21:50
【问题描述】:
我有一个数据集,我想在其中查找对象数组中的 id。现在当我添加查找时。它用查找结果替换完整的文档。现在在那个对象里面我有一些我想访问的其他内容,但是它被替换了。我也不想将lookup 放在该对象数组的所有元素中,只是第一个。主要是我想在查找完成后access scale
下面是我的数据集
"user_id" : ObjectId("5b17b992c440782b5a218cd2"),
"commission" : [
{
"commissson_id" : ObjectId("5bc05984b49e14243f2973ad"),
"scale" : "14"
},
{
"commissson_id" : ObjectId("5bc05992b49e14243f2973ae"),
"scale" : "14"
},
{
"commissson_id" : ObjectId("5bc05984b49e14243f2973ad"),
"scale" : "1"
},
{
"commissson_id" : ObjectId("5bc0596a414d30243f94b0de"),
"scale" : "1"
}
]
到目前为止我已经尝试过这个
$pipe=[
[
'$match'=>
[
'_id'=> $user_id
],
],
[
'$lookup'=>
[
'from'=>'commission',
'localField'=>'commission.0.commissson_id',
'foreignField'=> '_id',
'as'=> 'commission'
]
],
];
【问题讨论】:
标签: php database mongodb mongodb-query aggregation-framework