J'essaie de supprimer "virtualNumber" : "12345"
dans le document suivant:Comment supprimer un tableau profond dans mongodb?
{
"_id" : ObjectId("50a9db5bdc7a04df06000005"),
"billingInfo" : null,
"date" : "dsfdsfsdfsd",
"description" : "sdfsdff",
"pbx" : {
"_id" : ObjectId("50a9db5bdc7a04df06000006"),
"did" : {
"7259591220" : {
"inventoryId" : "509df7547e84b25e18000001",
"didcountry" : "india",
"didState" : "bangalore",
"routeType" : "CallForward",
"didNumber" : "7259591220",
"didVirtualNumbers" : [
{
"virtualNumber" : "12345"
},
{
"virtualNumber" : "56789"
}
],
"id" : ObjectId("50a9db9acdfb4f9217000002")
}
},
},
J'utilise Node.js, donc je construit une requête en JavaScript:
var query = {_id: ObjectId("50a9db5bdc7a04df06000005")};
var obj = {};
obj["pbx.did.7259591220.didVirtualNumbers.virtualNumber"]=12345;
//problem
collection.update(query,{$pull:obj});
grâce, mais sa ne fonctionne pas, la requête est { 'pull $': { ' pbx.did.7259591220.didVirtualNumbers ': {virtualNumber:' 12345 '}}} – user2587222
Lorsque je sauvegarde le document dans votre question dans la collection "objects" dans ma base de données, je peux supprimer le virtualNumber "12345" du document en utilisant la requête ' db.objects.update ({"_id": ObjectId ("50a9db5bdc7a04df06000005")}, {"$ pull": {"pbx.did.72595912 20.didVirtualNumbers ": {" virtualNumber ":" 12345 "}}})'. Après cette requête, le document contient uniquement l'autre virtualNumber "56789". – Lauri
Je suis exactement la même requête, mais je ne sais pas où je vais mal ... – user2587222