Я пытаюсь обновить флаг IsActive внутри объекта функции, однако он глубоко вложен в объекты компаний и фабрик.Попытка использовать $ бесполезна, так как она не работает с вложенными вложенными документами.Кто-нибудь нашел способ работать с этим ??? Я ожидаю, что флаг IsActive будет изменен, так как сейчас он может быть достигнут только.Я пробовал:
{function deleteFunction(companyId, factoryId, functionId) {
return Companies.update({
"CompanyId": companyId,
"Factories.FactoryId": factoryId,
"Factories.Functions.FunctionId": functionId,
}, {"$set": {"Factories.$.Functions.IsActive": false}}
).then(function (result) {
console.log("Reached", result);
return result
}).catch(function (err) {
logger.log(err);
});
}}
let functionsSchema = new mongoose.Schema({
FunctionId: Number,
Name: String,
ADGroup: String,
IsActive: Boolean,
DateCreated: {
type: Date,
default: Date.now
},
DateModified: {
type: Date,
default: Date.now
}
});
let factorySchema = new mongoose.Schema({
FactoryId: Number,
Name: String,
ADGroup: String,
IsActive: Boolean,
DateCreated: {
type: Date,
default: Date.now
},
DateModified: {
type: Date,
default: Date.now
},
Functions: [functionsSchema]
});
let companySchema = new mongoose.Schema({
CompanyId: Number,
Name: String,
IsActive: Boolean,
DateCreated: {
type: Date,
default: Date.now
},
DateModified: {
type: Date,
default: Date.now
},
Employees: [employeeSchema],
Factories: [factorySchema]
});