ситуации:MongoDB - Нужна помощь в обновлении объекта в пределах массива Документа
У меня есть коллекция под названием «сотрудники». Эта коллекция содержит массив менеджеров. Каждый объект-менеджер имеет свойство «directReports». Это свойство представляет собой массив объектов, представляющих своих подчиненных. Например:
db.employees.find({ name: 'John Smith' });
{
"id" : 1234,
"name" : "John Smith",
"FirstName" : "John",
"LastName" : "Smith",
"SamAccountName" : "jsmith",
"DepartmentName" : "Management",
"SupID" : 0,
"Email" : "[email protected]",
"SupSamAccountName" : "bross",
"SupName" : "Bob Ross",
"directReports" : [
{
"id" : 5678,
"name" : "Jane Doe",
"FirstName" : "Jane",
"LastName" : "Doe",
"SamAccountName" : "jdoe",
"DepartmentName" : "Agent",
"SupID" : 1234,
"Email" : "[email protected]",
"SupSamAccountName" : "jsmith",
"SupName" : "John Smith",
},...]}
Что я хотел бы сделать:
Я хотел бы добавить новое свойство, называемое «состояние» (со значением «Обед») Джейн Доу.
Как это сделать?
Любая помощь очень ценится!
Я попытался запустить это, и он дал мне ошибку синтаксиса: E QUERY [thread1] SyntaxError: недопустимое свойство идентификатор @ (оболочки) –
вы используете '' id's или _id's? Я принял 'id' на основании вашего вопроса. По умолчанию MongoDB использует '_id' как уникальный идентификатор, который является' ObjectId's – ggallo
. Я фактически использую SamAccountName для менеджера и подчиненного. Я даже пытался использовать Mongo's _id, но это тоже не сработало. –