mongodb聚合操作汇总
//1两表联合查询
db.orders.aggregate([
{
$lookup:
{
from: "inventory",//附表
localField: "item.name",//主表字段
foreignField: "sku",//附表字段
as: "inventory_docs"//附表查询结果在主表显示的字段
}
}
])
//$project筛选出来想要的字段 1是显示 不想显示_id 就是设置为 0 ,其他为 0会报错
db.runoob.aggregate( { $project: { _id: 0, title: 1, url: 1 , by_user: 1 } } )
//筛选likes大于70小于10000的
db.runoob.aggregate([ { $match: { likes: { $gt: 70, $lte: 10000 } } } ])
//跳过的个数
db.runoob.aggregate( { $skip: 1 } )
//根据by_user分组
db.runoob.aggregate([ { $match: { likes: { $gt: 0, $lte: 10000 } } }, { $group: { _id: "$by_user", count: { $sum: 1 } } } ])
//排序
db.runoob.aggregate(
{
"$sort": {
"url": 1
}
}
)
更多借鉴 大佬地址 https://www.cnblogs.com/liu--huan/p/10721266.html#_label2

浙公网安备 33010602011771号