在MongoDB中,叫做“跨表分頁查詢”的操作實際上是通過使用聚合管道來實現的。下面是一個實現跨表分頁查詢的示例代碼:
db.table1.aggregate([
{
$lookup: {
from: "table2",
localField: "table1Field",
foreignField: "table2Field",
as: "joinedData"
}
},
{ $unwind: "$joinedData" },
{
$project: {
_id: 0,
field1: "$table1Field",
field2: "$joinedData.table2Field"
}
},
{ $skip: 10 },
{ $limit: 10 }
])
上述代碼中,我們首先使用了$lookup
聚合階段來連接兩個表(table1
和table2
),并將結果保存在joinedData
字段中。然后,使用$unwind
聚合階段將joinedData
字段展開為多個文檔。接下來,使用$project
聚合階段來選擇所需的字段,并使用$skip
和$limit
聚合階段來實現分頁功能。
請注意,上述代碼中的table1Field
和table2Field
是連接兩個表的字段,你需要根據實際情況進行調整。另外,你還可以根據需求修改$project
階段來選擇其他的字段。