通过aggregate聚合和lookup实现连表查询。log和user是mongo中两个集合
类似left join
db.log.aggregate([
{
$lookup: {
from: "user", // 要连接的集合名
localField: "userId", // log集合中用于匹配的字段
foreignField: "name", // user集合中用于匹配的字段
as: "product_info" // user对应的查询结果的输出数组字段名
}
}
]);
inner join
db.log.aggregate([
{
$lookup: {
from: "user", // 要连接的集合名
localField: "userId", // log集合中用于匹配的字段
foreignField: "name", // user集合中用于匹配的字段
as: "product_info" // 查询结果的输出数组字段名
}
},
{
$match:{"userId":{$ne:null}} //userId为log关联的字段
}
]);