db.employee.insert(
{
_id: 'shop1',
ShopName: 'Londis',
ShopAddress: 'Clea boy',
Owner: 'Tim Byrne',
ShopContactNumber: '0877733121',
Employee: [
{
EmployId: '1',
EmployName: 'Pat Power',
EmployContactNumber: 0876395224,
EmployAddress: 'Lacka Rd',
Salary: 500.00,
Hours: 40,
PayType: 'Cheque',
Wage: 9.00,
EmployeeType: 'Manager'
},
{
EmployId: '2',
EmployName: 'Craig Coad',
EmployContactNumber: 0873347582,
EmployAddress: 'Portlaw',
Salary: 400.00,
Hours: 32,
PayType: 'Bank',
Wage: 8.65,
EmployeeType: 'FloorStaff'
},
{
EmployId: '3',
EmployName: 'Joe Bloggs',
EmployContactNumber: 0861234567,
EmployAddress: 'Waterford',
Salary: 510.00,
Hours: 12,
PayType: 'Cheque',
Wage: 9.50,
EmployeeType: 'Manager'
}]});
Я хочу обновить состояние элемента для конкретного Сотрудника. Например, я хотел бы обновить пункт 1, чтобы установить EmployName = «Патрик питания» для EmployeId = «1» потому что сотрудник существует:Mongodb обновление встроенного поля
db.students.update(
{'_id':'shop1','Employee.EmployId':'1'},
{$set:{'Employee.$.EmployName':'Patrick Power'} }
);
Это то, что я пытался сделать но доза не работает?
Что я делаю неправильно?
возможно дубликат [Как я могу обновить поле суб документ из массива суб dcoument на основе запроса] (http://stackoverflow.com/questions/29667369/how-can-i-update-the-sub-document-field-from-the-sub-dcoument-array-based-on-the) – Yogesh