6
votes

Supprimer un seul document dans MongoDB

Lorsque j'appelle

db.collection.remove({'condition':'some condition'});


1 commentaires

Pourquoi voudriez-vous veux de faire ça? Qu'est-ce qui est spécial à propos de celui de supprimer qu'il devrait être supprimé, mais les autres sont partis?


9 Réponses :


0
votes

Vous ne pouvez pas simplement exécuter une recherche d'abord pour obtenir l'identifiant puis une suppression lorsque vous avez celui que vous voulez?


4 commentaires

Je souhaite supprimer un seul document de condition correspondant lorsque de nombreux documents correspondent à une seule commande MongoDB. Peut-être qu'il n'existe pas?


Je crois que c'est quelque chose que les gens demandent, mais à ma connaissance, il n'a pas encore été mis en œuvre.


: \ J'espère que ça doit être mis en œuvre bientôt


Besoin de cette fonctionnalité est une odeur de schéma. Une caractéristique qui supprime au hasard un document en fonction des conditions imprévisibles telles que la direction de la marche des arbres B ne sera pas ajoutée (j'espère).



18
votes

Vous devez effectuer deux requêtes distinctes pour cette

  • Ne prenez qu'un seul élément des filtres correspondants P>

     db.collection.remove({_id: item._id});
    
  • et supprimez l'élément à l'aide de l'ID P>

    var item = db.collection.findOne({'condition':'some condition'})
    


0 commentaires

11
votes

1 commentaires

Merci Arcyqwerty, l'API de Mongo est vraiment incompatible, je ne sais pas pourquoi le drapeau booléen est "multi" sur des mises à jour et "justone" (le contraire) pour enlever ...



2
votes

S'il y a plusieurs enregistrements et que vous souhaitez supprimer uniquement le premier enregistrement, définissez le paramètre Justone dans la méthode Supprimer ().

Ici, vous voulez supprimer uniquement 1. Ainsi, définissez le paramètre "justone" comme 1.

db.collection.remove ({"condition": "une condition"}, 1);


0 commentaires


2
votes

Pour supprimer un document de la collecte, utilisez la commande ci-dessous

db.collectionname.remove ({"_ id": objecid ("5473293d43ecdre56352457f3a")})


1 commentaires

Cela le modifiant dans une classe d'objet était le kicker! Je devais utiliser le VaR que j'ai utilisé pour nécessiter de Mongodb> req.dogs.remove ({"_ID", mongodb.objectid (req.params.id)}, fonction (err, ....



0
votes

Essayez celui-ci pour Supprimer. XXX


0 commentaires

1
votes

J'ai utilisé ceci et cela a fonctionné pour moi xxx

Ceci fonctionne sur la version de shell de MongoDB: 3.2.17

ICI Événement ===> Collection


1 commentaires

Ceci est identique à une réponse antérieure. Cela ne donne rien qui n'était pas déjà là.



0
votes

Par exemple, le nom de la base de données est "ABC" et sous-ci, il existe une collection par nom "Utilisateurs" et utilisateurs a un email qui est "test@test.com" que vous souhaitez supprimer: 1. Sur le terminal si vous tapez 'show dbs' (sans citation ''), il listerait toutes les bases de données, y compris 'ABC' 2. Si vous tapez «Utilisez ABC», il passerait à votre DB - ABC souhaité (avec le message: «Basculé vers DB ABC») 3. Maintenant, si vous tapez «Afficher les collections», cela montrerait toutes les collections, y compris les «utilisateurs». 4. Si vous souhaitez répertorier tous les documents de cette collection, vous tapez simplement: db.user.find ({}) 5. Si vous souhaitez supprimer un document spécifique dans cette collection, tapez: db.users.remove ({"Email": "test@test.com"})

Si cela réussit, il afficherait - écrivain ({"nremoved": 1})


0 commentaires