Объем проблемы
Я создаю систему отслеживания заданий и хочу $set
статус определенного пользователя, задав для параметров запроса userId
и jobId
Задача
Когда я запускаю запрос, он возвращает ноль и не находит конкретного пользователя. Я не уверен, как я должен структурировать свой параметр запроса, большое спасибо заранее =]
Код
IndustryPartner.findOneAndUpdate(
{
_id: req.user.corporation,
"bulletin.jobs.jobList._id": req.body.jobId,
"bulletin.jobs.jobList.applicationList.user": req.body.userId
},
{
$set: {
"bulletin.jobs.jobList.$.applicationList.status": "Accepted"
}
},
{ new: true }
)
Схема
{bulletin: {
jobs: {
numOfJobs: { type: Number, default: 0 },
jobList: [
{
applicationList: [
{
user: { type: Schema.Types.ObjectId, ref: "User" },
firstName: { type: String, required: true },
lastName: { type: String, required: true },
avatar: { type: String, required: true },
status: {
type: String,
enum: ["Accepted", "In Review", "Declined"],
default: "In Review"
}
...
Данные испытаний
"bulletin" : {
"jobs" : {
"jobList" : [
{
"_id" : ObjectId("5d103be063b3014b08b0599d"),
"applicationList" : [
{
"status" : "In Review",
"_id" : ObjectId("5d1046cf802a2a59b8013511"),
"user" : ObjectId("5c9bf6eb1da18b038ca660b8"),
"firstName" : "Luke",
"lastName" : "Skywalker",
"dateCreated" : ISODate("2019-06-24T03:43:11.455Z")
}
],
"dateCreated" : ISODate("2019-06-24T02:56:32.252Z")
}
]
}
}
}