我现在有这样一个 mogodb 嵌入式文档数组
_id:6131aa5b367318e2df14b988
title:"功能更新清单"
author:Object
_id:607edeb4b1e1bea9acb5af38
email:"frmachao@126.com"
group:Object
_id:612d00a43c52975d4ade10d4
desc:"开发"
state:"public"
name:"开发小组"
members:Array
0:Object
_id:612d00a43c52975d4ade10d5
role:"admin"
user:607edeb4b1e1bea9acb5af38
我想在 aggregate
聚合操作内通过比较 author._id == group.members.user
的值,向文档添加一个新字段 can_edit
。
Article.aggregate([
{
$addFields: {
can_edit: {
$eq: ["$group.members.user", "$author._id"],
},
}
}
])
可是我得到的 can_edit 值始终是 false,我确定在我的测试数据中 author._id 的值和group.members.user 是相同。
期望返回的文档结构:
_id: 6131aa5b367318e2df14b988
can_edit: true
title: "功能更新清单"
author:Object
_id: 607edeb4b1e1bea9acb5af38
email: "frmachao@126.com"
group:Object
_id: 612d00a43c52975d4ade10d4
desc: "开发"
state: "public"
name: "开发小组"
members:Array
0:Object
_id: 612d00a43c52975d4ade10d5
role: "admin"
user: 607edeb4b1e1bea9acb5af38
有什么方法可以满足我的需求?有人知道该怎么样去做吗,我将非常感谢你🙏。
问题已解决:stackoverflow 上面,一位热心的马来西亚程序员帮我解决了问题