我们正在数据库中查找一个用户,其截止日期为'_id'
"_id": "6381e7c6bf8892cf05c7c798",
"username": "Teacher",
"email": "teacher@gmail.com",
"role": "teacher",
"avatar": "fixtures/teacher.jpg",
"token": "KNuSF7sscU3EJsMetUFKi",
"authentication": true,
"myCourses"
和
需要使用'aggregate'
从数组中获取合适的对象,我们通过'course'
字段找到该对象并更改其中的'status'
"myCourses": [
{
"course": "6381e7c6bf8892cf05c7c7b3",
"status": true,
"_id": "6381e80f12d633b2e6c35fbd"
},
{
"course": "6381edab4f212193837ab575",
"status": true,
"_id": "6381edc54f212193837ab57c"
}
],
我试过以下方法
第一个
最后一种方法有效,但我认为它不正确
1条答案
按热度按时间wz3gfoph1#
如果您要在myCourses中更新课程状态。请按
_id
筛选文档,并按courseId
筛选您要更新的课程。使用指针运算符$
设置指向的对象属性中的值。请在此处阅读文档Try sample
example