我有兩個系列,第一個是西米
{
"_id" : ObjectId("6436b5173f502ed769062ae3"),
"app_id" : "5d1554b5d2a57d5cda075922",
"created_on" : ISODate("2023-04-12T13:41:43.501+0000"),
"name" : "ABCD",
"type" : "dynamic"
}
{
"_id" : ObjectId("8436b513f502ed769062148"),
"app_id" : "5d1554b5d2a57d5cda075922",
"created_on" : ISODate("2023-04-12T13:41:43.501+0000"),
"name" : "XYZ",
"type" : "dynamic"
}
第二個是自動
{
"_id" : ObjectId("6440e09511590b6c360f0962"),
"created_on" : ISODate("2023-04-20T06:49:57.000+0000"),
"auto_name" : "Folder",
"trigger" : "added_to_segments",
"trigger_value" : [
"6436b5173f502ed769062ae3"
]
}
我需要獲取只存在于自動收集trigger_value中的下垂
need output
{
"_id" : ObjectId("6436b5173f502ed769062ae3"),
"app_id" : "5d1554b5d2a57d5cda075922",
"created_on" : ISODate("2023-04-12T13:41:43.501+0000"),
"name" : "ABCD",
"type" : "dynamic"
}
我試過了
$this->mongo_db->aggregate(
'sagment',
[
['$match' => ['app_id' => $app_id]],
['$sort' => ['created_on' => -1]],
['$skip' => (int)$offset],
['$limit' => $limit],
['$lookup' => [
'from' => 'auto',
'localField' => 'trigger_value',
'foreignField' => '_id',
'as' => 'pip'
]]
]
);
我正在獲取所有下垂的數據。請幫忙。
這是一種方法,首先執行從分段到自動收集的查找,然后過濾沒有匹配的自動文檔的文檔。這樣地:
Playground link.