match 、 sort、 skip、$lookup 表關聯html
過濾表字段,只顯示錶中的下面三個字段markdown
db.order.aggregate([
{
$project: { order_id: 1, trade_no: 1, all_price: 1 }
}
])
複製代碼
匹配字段符合規則的app
db.order.aggregate([
{
$project: { order_id: 1, trade_no: 1, all_price: 1 }
},
{
$match: { "all_price": { $gte: 90 } }
}
])
複製代碼
以某個字段進行分組 能夠統計字段之和spa
db.order_item.aggregate(
[
{
$group: { _id: "$order_id", total: { $sum: "$num" } }
}
]
)
複製代碼
以某個字段排序 -1降序 1升序code
db.order.aggregate([
{
$project: { trade_no: 1, all_price: 1 }
},
{
$match: { "all_price": { $gte: 90 } }
},
{
$sort: { "all_price": -1 }
}
])
複製代碼
返回數據數量orm
db.order.aggregate([
{
$project: { trade_no: 1, all_price: 1 }
},
{
$match: { "all_price": { $gte: 90 } }
},
{
$sort: { "all_price": -1 }
},
{
$limit: 1
}
])
複製代碼
跳過幾條數據xml
db.order.aggregate([
{
$project: { trade_no: 1, all_price: 1 }
},
{
$match: { "all_price": { $gte: 90 } }
},
{
$sort: { "all_price": -1 }
},
{
$skip: 1
}
])
複製代碼
表關聯查詢htm
db.order.aggregate([
{
$lookup:
{
from: "order_item",
localField: "order_id",
foreignField: "order_id",
as: "items"
}
}
])
複製代碼