$addToSet
将元素添加进数组字段,且不重复。这也正是set这一数据结构的特性。
用法:
{ $addToSet: { <field1>: <value1>, ... } }
$push
添加数组元素
用法:
{ $push: { <field1>: <value1>, ... } }
或
{ $push: { <field1>: { <modifier1>: <value1>, ... }, ... } }
???例子如下:
Bonuswait.aggregate([
{
$match:{
"estimate_pay_date":create_date,
"status":"核准"
}
},
{
$group:{
"_id":"$employee_id",
//"_ids":{ $push: "$_id" },//直接将每个字段的_id放到_ids中
"_ids":{ $addToSet: { tags: "$_id" } } //将每组数据的_id以对象的形式放到_ids数组中
}
},
{
$project:{
"_id":true,
"_ids":1
}
}
],(err,data)=>{
code ...
})