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ď č. 1Pretož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/