Comment mettre à jour le _id d'un document MongoDB ?
Vous ne pouvez pas le mettre à jour, mais vous pouvez enregistrer le nouvel identifiant et supprimer l'ancien. Suivez quelques étapes pour mettre à jour le _id de MongoDB. Les étapes sont les suivantes :
Étape 1 : Dans la première étape, vous devez stocker l'ObjectId dans une variable.
anyVariableName=db.yourCollectionName.findOne({_id:yourObjectIdValue)});
Étape 2 : Dans la deuxième étape, vous devez définir un nouvel identifiant.
yourDeclaredVariableName._id=yourNewObjectIdValue;
Étape 3 : Dans la troisième étape, vous devez insérer le nouvel identifiant dans le document.
db.yourCollectionName.insert(yourDeclaredVariableName);
Étape 4 : Dans la quatrième étape, vous devez supprimer l'ancien identifiant.
db.yourCollectionName.remove({_id:yourOldObjectIdValue)});
Pour comprendre les étapes ci-dessus, créons une collection avec des documents. La requête pour créer une collection à l'aide de documents est la suivante :
> db.updateIdDemo.insertOne({"StudentName":"Robert"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6ebfec6fd07954a4890683") } > db.updateIdDemo.insertOne({"StudentName":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6ebff66fd07954a4890684") } > db.updateIdDemo.insertOne({"StudentName":"Maxwell"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6ebfff6fd07954a4890685") }
Affichez tous les documents de la collection à l'aide de la méthode find(). La requête est la suivante :
> db.updateIdDemo.find().pretty();
Voici le résultat :
{ "_id" : ObjectId("5c6ebfec6fd07954a4890683"), "StudentName" : "Robert" } { "_id" : ObjectId("5c6ebff66fd07954a4890684"), "StudentName" : "Chris" } { "_id" : ObjectId("5c6ebfff6fd07954a4890685"), "StudentName" : "Maxwell" }
Voici la requête pour mettre à jour le _id d'un document MongoDB :
Step1: > myId=db.updateIdDemo.findOne({_id:ObjectId("5c6ebfec6fd07954a4890683")}); { "_id" : ObjectId("5c6ebfec6fd07954a4890683"), "StudentName" : "Robert" } Step 2: > myId._id=ObjectId("5c6ebfec6fd07954a4890689"); ObjectId("5c6ebfec6fd07954a4890689") Step 3: > db.updateIdDemo.insert(myId); WriteResult({ "nInserted" : 1 }) Step 4: > db.updateIdDemo.remove({_id:ObjectId("5c6ebfec6fd07954a4890683")}); WriteResult({ "nRemoved" : 1 })
Vérifions si le _id a été mis à jour. Affichez tous les documents de la collection à l'aide de la méthode find() :
> db.updateIdDemo.find().pretty();
Voici le résultat :
{ "_id" : ObjectId("5c6ebff66fd07954a4890684"), "StudentName" : "Chris" } { "_id" : ObjectId("5c6ebfff6fd07954a4890685"), "StudentName" : "Maxwell" } { "_id" : ObjectId("5c6ebfec6fd07954a4890689"), "StudentName" : "Robert" }
En regardant l'exemple de sortie, le _id de "StudentName":"Robert" a changé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

MongoDBDiversareLiBrariashaTenableAplicationStointerActwithMongodbusingTheNatinsyntaxofaspecificProgrammingNanguage, SimpliveyDatabaseOperationsByHandlinglow-levelcommunicationanddataformatConversion.

Dans MongoDB, les documents de la collection sont récupérés à l'aide de la méthode Find (), et les conditions peuvent être filtrées via des opérateurs de requête tels que $ eq, $ gt, $ lt, etc. 1. Utilisez $ eq ou spécifiez directement les paires de valeurs clés pour correspondre exactement, tels que db.users.find ({statut: "actif"}); 2. Utilisez des opérateurs de comparaison tels que $ gt et $ lt pour définir la plage numérique, telle que db.products.find ({prix: {$ gt: 100}}); 3. Utilisez des opérateurs logiques tels que $ ou et $ et pour combiner plusieurs conditions, telles que db.users.find ({$ ou: [{statut: "inacte

L'amélioration de la sécurité de MongoDB repose principalement sur trois aspects: l'authentification, l'autorisation et le chiffrement. 1. Activer le mécanisme d'authentification, configurer - Auth au démarrage ou définir la sécurité. Autorisation: activé et créer un utilisateur avec un mot de passe fort pour interdire l'accès anonyme. 2. Mettre en œuvre l'autorisation à grains fins, attribuer des autorisations minimales nécessaires en fonction des rôles, éviter les rôles abus des rôles fondamentaux, examiner régulièrement les autorisations et créer des rôles personnalisés. 3. Activer le cryptage, la communication de crypte à l'aide de TLS / SSL, configurez les certificats PEM et les fichiers CA et combinez le cryptage de stockage et le chiffrement au niveau de l'application pour protéger la confidentialité des données. L'environnement de production doit utiliser régulièrement des certificats de confiance et mettre à jour les politiques pour créer une ligne de sécurité complète.

À l'aide de documents versionnés, suivez les versions de documents en ajoutant un champ de schéma, permettant aux applications de traiter les données en fonction des différences de version et de prendre en charge la migration progressive. 2. Concevez un motif compatible en arrière, en conservant l'ancienne structure lors de l'ajout de nouveaux champs pour éviter d'endommager le code existant. 3. Migrer progressivement les données et le traitement par lots via des scripts de fond ou des files d'attente pour réduire l'impact des performances et les risques de temps d'arrêt. 4. Surveillez et vérifiez les modifications, utilisez Jsonschema pour vérifier, définir des alertes et tester dans des environnements de pré-libération pour garantir que les modifications sont sûres et fiables. La clé de gestion de l'évolution des modèles de MongoDB consiste à des mises à jour systématiquement progressives, à maintenir la compatibilité et à surveiller en continu pour réduire la possibilité d'erreurs dans les environnements de production.

ToauditDatabaseOperationsInmongoDB, permettent à Abuilt-INAUDITINGFUCTIONALALYBYCURINGURINGTHEAUDLOGOPTIONINTHEMONGODBCONFIGURATIONSFILEORCOMAND-lineInterface.1.EnableAuditSpecifypeciveyTheDestination, Format, andpatheAuditlog, assurantmongodbhasting, format, andpatheauditlog, assurantmongodbhasintination, AndpatheAuditlog, assurantmongodbhasintination, AndpatheAuditlog, AssuranceMongodbhastination,

La principale différence entre UpdateOne (), UpdateMany () et ReplaceOne () dans MongoDB est la portée et la méthode de mise à jour. ① UpdateOne () ne met à jour que la partie des champs du premier document de correspondance, qui convient aux scènes où un seul enregistrement est modifié; ② UpdateMany () met à jour la partie de tous les documents correspondants, ce qui convient aux scènes où plusieurs enregistrements sont mis à jour par lots; ③ RemplaceOne () remplace complètement le premier document correspondant, qui convient aux scènes où le contenu global du document est requis sans conserver la structure d'origine. Les trois s'appliquent à différentes exigences de fonctionnement des données et sont sélectionnés en fonction de la plage de mise à jour et de la granularité de l'opération.

$ UndemdDeconstructSanArrayFieldIntomultipleDocuments, chaque contenu envergure dettheaRay.1.ittransformsaDocumentwithanarrayIntomultipledocuments, chaque fois HavingasingsingleElementFromTheArray.2.

Utilisez DeleteOne () pour supprimer un seul document, qui convient à la suppression du premier document qui correspond aux critères; Utilisez DeleteMany () pour supprimer tous les documents correspondants. Lorsque vous devez supprimer un document spécifique, DeleteOne () doit être utilisé, surtout si vous déterminez qu'il n'y a qu'une seule correspondance ou si vous souhaitez supprimer un seul document. Pour supprimer plusieurs documents qui répondent aux critères, tels que le nettoyage des anciens journaux, les données de test, etc., DeleteMany () doit être utilisée. Les deux supprimeront en permanence les données (sauf s'il y a une sauvegarde) et peut affecter les performances, il doit donc être utilisé pendant les heures hors puits et s'assurer que les conditions de filtrage sont exactes pour éviter la dépression. De plus, la suppression des documents ne réduit pas immédiatement la taille du fichier du disque, et l'index prend toujours de la place jusqu'à la compression.
