this are sample documents of the collection,
{
_id: ObjectId("637f1128d8298d42bae0d4fc"),
name: 'Iska Paphat',
age: 8,
cat: { name: 'Malone Poppelhoffen', age: 7 }
},
{
_id: ObjectId("637f1128d8298d42bae0d4fd"),
name: 'Elbow Frank',
age: 67
},
{
_id: ObjectId("637f1128d8298d42bae0d4fe"),
name: 'Frank Frank',
age: 49,
cat: { name: 'Pirate Yolanda', age: 4 }
},
{
_id: ObjectId("637f1128d8298d42bae0d4ff"),
name: 'Fluffy Yolanda',
age: 66
},
I'm trying to increment age and cat.age by 1, using
db.people.updateMany({},{$inc:{age:1,'cat.age':1}})
,
this command adds{cats:{age:1}}
in fields which has no cat subfields.
{
_id: ObjectId("637f03bcd8298d42bae0d110"),
name: 'Elbow Pirate',
age: 5,
cat: { age: 1 }
},
{
_id: ObjectId("637f03bcd8298d42bae0d111"),
name: 'Malone Foxton',
age: 45,
cat: { age: 1 }
},
{
_id: ObjectId("637f03bcd8298d42bae0d112"),
name: 'Fluffy Poppelhoffen',
age: 1,
cat: { age: 1 }
},
how to $inc both cat's age and person age without adding cat field in single query?