/ / odstrániť objekt z poľa v mongodb [duplikát] - json, mongodb

odstrániť objekt z poľa v mongodb [duplicate] - json, mongodb

Ako môžem odstrániť kandidatúru z nižšie uvedenej kolekcie polí.

{
"_id" : ObjectId("58978989"),
"positionId" : "54535343",
"jobTitle" : "Developer",
"status" : "Open",
"jobDescription" : "HyperLink Place holder",
"candidate" : [
{
"candid" : ObjectId("b20474567892345678900021")
},
{
"candid" : ObjectId("b30474567892345678900021")
},
{
"candid" : ObjectId("b40474567892345678900021")
},
{
"candid" : ObjectId("b50474567892345678900021")
}
]
}

očakávaný výkon je

{
"_id" : ObjectId("58978989"),
"positionId" : "54535343",
"jobTitle" : "Developer",
"status" : "Open",
"jobDescription" : "HyperLink Place holder",
"candidate" : [
{
"candid" : ObjectId("b20474567892345678900021")
},
{
"candid" : ObjectId("b30474567892345678900021")
},
{
"candid" : ObjectId("b40474567892345678900021")
}
]
}

odpovede:

-1 pre odpoveď č. 1

Pretože pole obsahuje rovnaké objekty, predpokladám, že chcete odstrániť konkrétny index. Ak áno, použite nasledujúce.

db.test.update({_id: ObjectId("58978989")}, {$unset: {"candidate.1": 1}})
db.test.update( { _id: ObjectId("58978989")}, { $pull: { candidate: null} } )

Ak sa chcete dozvedieť viac, prečítajte si toto https://docs.mongodb.com/manual/reference/operator/update/pull/