Intial database structure
> db.collection.find().pretty()
{
"_id" : ObjectId("5a25af80d2c4dd065991dccc"),
"username" : "[email protected]",
"password" : "$2a$10$ptFyLKtyyrL5gMYdXS6wV.HLUA4Py5iudMJDldf5qsHFS4.9TPCyy",
"role" : "Admin",
"__v" : 0,
"list" : [
{
"name" : "We",
"arr" : [
"5a26d554677475818a795f75",
"5a395bb0976d5304c07f7dd4"
]
},
{
"name" : "sandeep",
"arr" : [
"5a26d554677475818a795f75"
]
}
]
}
Query executed
> db.collection.update({ list: { $elemMatch: { name: "We" , arr: {$nin: ["55555555555555555"]} } } }, { $push: { "list.$.arr": "55555555555555555" } } )
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
New database structure
> db.collection.find().pretty()
{
"_id" : ObjectId("5a25af80d2c4dd065991dccc"),
"username" : "[email protected]",
"password" : "$2a$10$ptFyLKtyyrL5gMYdXS6wV.HLUA4Py5iudMJDldf5qsHFS4.9TPCyy",
"role" : "Admin",
"__v" : 0,
"list" : [
{
"name" : "We",
"arr" : [
"5a26d554677475818a795f75",
"5a395bb0976d5304c07f7dd4",
"55555555555555555"
]
},
{
"name" : "sandeep",
"arr" : [
"5a26d554677475818a795f75"
]
}
]
}
Again same query Executed
> db.collection.update({ list: { $elemMatch: { name: "We" , arr: {$nin: ["55555555555555555"]} } } }, { $push: { "list.$.arr": "55555555555555555" } } )
WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })
Checking the database structure again
> db.collection.find().pretty()
{
"_id" : ObjectId("5a25af80d2c4dd065991dccc"),
"username" : "[email protected]",
"password" : "$2a$10$ptFyLKtyyrL5gMYdXS6wV.HLUA4Py5iudMJDldf5qsHFS4.9TPCyy",
"role" : "Admin",
"__v" : 0,
"list" : [
{
"name" : "We",
"arr" : [
"5a26d554677475818a795f75",
"5a395bb0976d5304c07f7dd4",
"55555555555555555"
]
},
{
"name" : "sandeep",
"arr" : [
"5a26d554677475818a795f75"
]
}
]
}
No changes Found