mongodb update 字符 操作
下面常用的update操作,用mongodb2.6.3版本测试的,官方发布的稳定版本2.4,建议用稳定版。 一,upsert表示如果有数据就不插入,没数据就插入 1,命令行下 db.peoples.update( //查找name等于tank的用户... { name: "tank" },... {... "_id":1,... name: "An
下面常用的update操作,用mongodb2.6.3版本测试的,官方发布的稳定版本2.4,建议用稳定版。
一,upsert表示如果有数据就不插入,没数据就插入
1,命令行下
> db.peoples.update( //查找name等于tank的用户 ... { name: "tank" }, ... { ... "_id":1, ... name: "Andy", ... rating: 10, ... score: 10 ... }, ... { upsert: true } //如果没有就插入 ... ); WriteResult({ "nMatched" : 0, "nUpserted" : 1, "_id" : 1 }) > db.peoples.find(); { "_id" : 1, "name" : "Andy", "rating" : 10, "score" : 10 } > db.peoples.update( ... { _id: 1 }, ... { ... "_id":1, ... name: "Andy", ... rating: 10, ... score: 10 ... }, ... { upsert: true } ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0 }) //有匹配数据就不做插入操作 > db.peoples.find(); { "_id" : 1, "name" : "Andy", "rating" : 10, "score" : 10 }
2,php upsert操作
$collection->update( array("name" => "zhang"), array("_id"=>2,"name"=>"tank","rating"=>10,"score"=>10), array("upsert" => true) ); print_r($collection->findOne());
二,$set 替换值
1,命令行下操作
> db.peoples.find(); { "_id" : 1, "name" : "Andy", "rating" : 10, "score" : 10 } > db.peoples.update( ... { _id: 1 }, ... { ... $set: { rating: 18 } ... } ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0 }) > db.peoples.find(); { "_id" : 1, "name" : "Andy", "rating" : 18, "score" : 10 }
2,php $set操作
$where = array("_id"=>1); $param = array('$set'=>array("score"=>"100")); //注意此处的set必须为 单引号 $collection->update($where,$param); print_r($collection->findOne());
三,$inc如果没有对应对段就直接赋值,如果有在原来的值上加上该值
1,命令行下操作
> db.peoples.find(); { "_id" : 1, "name" : "Andy", "rating" : 28, "score" : 10 } > db.peoples.update( ... { _id: 1 }, ... { ... $inc: { age: 30 } ... } ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0 }) > db.peoples.find(); { "_id" : 1, "age" : 30, "name" : "Andy", "rating" : 28, "score" : 10 } //第一次,加了一个字段 > db.peoples.update( ... { _id: 1 }, ... { ... $inc: { age: 30 } ... } ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0 }) > db.peoples.find(); { "_id" : 1, "age" : 60, "name" : "Andy", "rating" : 28, "score" : 10 } //第二次,发现有这个字段就把值加上去了
2,php $inc操作
$where = array("_id"=>1); $param = array('$inc'=>array("age"=>30)); $collection->update($where,$param); print_r($collection->findOne());
四,$unset删除字段
1,命令行下操作
> db.peoples.find(); { "_id" : 1, "age" : 120, "name" : "Andy", "rating" : 28, "score" : 10 } > db.peoples.update( ... { _id: 1 }, ... { ... $unset: { age: ""} //删除age字段 ... } ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0 }) > db.peoples.find(); { "_id" : 1, "name" : "Andy", "rating" : 28, "score" : 10 } >
2,php $unset操作
$where = array("_id"=>1); $param = array('$unset'=>array("score"=>"")); $collection->update($where,$param); print_r($collection->findOne());
五,$rename修改字段名称
1,命令行下操作
> db.peoples.find(); { "_id" : 1, "name" : "Andy", "rating" : 28 } > db.peoples.update( ... { _id: 1 }, ... { $rename: { "name": "firstname" } } //将name改成firstname ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0 }) > db.peoples.find(); { "_id" : 1, "firstname" : "Andy", "rating" : 28 }
2,php $rename 操作
$where = array("_id"=>1); $param = array('$rename'=>array("firstname"=>"name")); //将firstname改成name $collection->update($where,$param); print_r($collection->findOne());
六,multi更新多条数据
1,命令行下操作
> db.peoples.find(); { "_id" : 1, "name" : "Andy", "rating" : 28 } { "_id" : 2, "name" : "zhang", "rating" : 3, "score" : 5 } { "_id" : 3, "name" : "hao", "rating" : 30, "score" : 5 } > db.peoples.update( ... { rating: { $gt: 15 } }, ... { $inc: { score: 10 } }, ... { multi: true } ... ); WriteResult({ "nMatched" : 2, "nUpserted" : 0 }) > db.peoples.find(); { "_id" : 1, "name" : "Andy", "rating" : 28, "score" : 10 } //这条数据更新了 { "_id" : 2, "name" : "zhang", "rating" : 3, "score" : 5 } { "_id" : 3, "name" : "hao", "rating" : 30, "score" : 15 } //这条数据更新了
2,php multi操作
$where = array("rating"=>array('$gt'=>10)); $param = array('$set'=>array("name"=>"tank1","rating"=>50)); $ismore = array("multiple" => true); $collection->update($where,$param,$ismore);
版本不一样,功能多少会不一样,例如,我用的版本是2.6.3,$min和$max就用不了,会报"errmsg" : "Invalid modifier specified $min",希望mongodb出一个稳定高版本。
原文地址:mongodb update 字符 操作, 感谢原作者分享。

Outils d'IA chauds

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.

Undress AI Tool
Images de déshabillage gratuites

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





Cet article présente comment configurer MongoDB sur Debian System pour réaliser une expansion automatique. Les étapes principales incluent la configuration de l'ensemble de répliques MongoDB et de la surveillance de l'espace disque. 1. Installation de MongoDB Tout d'abord, assurez-vous que MongoDB est installé sur le système Debian. Installez à l'aide de la commande suivante: SudoaptupDaSudoaptInstall-myongoDB-Org 2. Configuration de la réplique MongoDB Ensemble de répliques MongoDB assure la haute disponibilité et la redondance des données, ce qui est la base de la réalisation d'une expansion de capacité automatique. Démarrer le service MongoDB: Sudosystemctlstartmongodsudosys

Cet article décrit comment construire une base de données MongoDB hautement disponible sur un système Debian. Nous explorerons plusieurs façons de garantir que la sécurité des données et les services continueront de fonctionner. Stratégie clé: réplicaset: réplicaset: Utilisez des répliques pour obtenir la redondance des données et le basculement automatique. Lorsqu'un nœud maître échoue, l'ensemble de répliques élise automatiquement un nouveau nœud maître pour assurer la disponibilité continue du service. Sauvegarde et récupération des données: utilisez régulièrement la commande Mongodump pour sauvegarder la base de données et formuler des stratégies de récupération efficaces pour faire face au risque de perte de données. Surveillance et alarmes: déploier les outils de surveillance (tels que Prometheus, Grafana) pour surveiller l'état de course de MongoDB en temps réel, et

Il est impossible de visualiser le mot de passe MongoDB directement via NAVICAT car il est stocké sous forme de valeurs de hachage. Comment récupérer les mots de passe perdus: 1. Réinitialiser les mots de passe; 2. Vérifiez les fichiers de configuration (peut contenir des valeurs de hachage); 3. Vérifiez les codes (May Code Hardcode).

Explication détaillée de la stratégie de sauvegarde efficace de MongoDB dans le cadre du système CentOS Cet article introduira en détail les différentes stratégies de mise en œuvre de sauvegarde MongoDB sur le système CentOS pour assurer la sécurité des données et la continuité des activités. Nous couvrirons les sauvegardes manuelles, les sauvegardes chronométrées, les sauvegardes de scripts automatisées et les méthodes de sauvegarde dans des environnements de conteneurs Docker, et offrir les meilleures pratiques pour la gestion des fichiers de sauvegarde. Sauvegarde manuelle: utilisez la commande mongodump pour effectuer une sauvegarde complète manuelle, par exemple: mongodump-hlocalhost: 27017-u username-p mot de passe-d database name-o / backup Directory Cette commande exportera les données et les métadonnées de la base de données spécifiée vers le répertoire de sauvegarde spécifié.

Pinetwork est sur le point de lancer Pibank, une plate-forme bancaire mobile révolutionnaire! Pinetwork a publié aujourd'hui une mise à jour majeure sur Elmahrosa (face) Pimisrbank, appelée Pibank, qui intègre parfaitement les services bancaires traditionnels avec des fonctions de crypto-monnaie de pignon (prend en charge l'échange entre les Fiat Currency tels que le Dollar, l'Euro, Usdt, Usdc, Ripiah avec des crypto-monnaies. Quel est le charme de Pibank? Découvrons! Les principales fonctions de Pibank: gestion unique des comptes bancaires et des actifs de crypto-monnaie. Soutenez les transactions en temps réel et adoptez les biospécies

Le chiffrement de la base de données MongoDB sur un système Debian nécessite de suivre les étapes suivantes: Étape 1: Installez d'abord MongoDB, assurez-vous que votre système Debian a installé MongoDB. Sinon, veuillez vous référer au document officiel MongoDB pour l'installation: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/step 2: générer le fichier de clé de cryptage Créer un fichier contenant la clé de chiffrement et définir les permissions correctes: ddif = / dev / urandof = / etc / mongodb-keyfilebs = 512

MongoDB et base de données relationnelle: comparaison approfondie Cet article explorera en profondeur les différences entre la base de données NOSQL MongoDB et les bases de données relationnelles traditionnelles (telles que MySQL et SQLServer). Les bases de données relationnelles utilisent des structures de table des lignes et des colonnes pour organiser les données, tandis que MongoDB utilise des modèles flexibles axés sur les documents pour mieux répondre aux besoins des applications modernes. Différencie principalement les structures de données: les bases de données relationnelles utilisent des tables de schéma prédéfinies pour stocker les données, et les relations entre les tableaux sont établies par des clés primaires et des clés étrangères; MongoDB utilise des documents BSON de type JSON pour les stocker dans une collection, et chaque structure de document peut être modifiée indépendamment pour obtenir une conception sans motif. Conception architecturale: les bases de données relationnelles doivent être prédéfinies schéma fixe; MongoDB support

L'indice de tri est un type d'index MongoDB qui permet de tri les documents dans une collection par champs spécifiques. La création d'un indice de tri vous permet de trier rapidement les résultats de la requête sans opérations de tri supplémentaires. Les avantages incluent le tri rapide, les requêtes de remplacement et le tri à la demande. La syntaxe est db.collection.CreateIndex ({champ: & lt; tri Ordre & gt;}), où & lt; tri, Ordre & gt; est 1 (ordre ascendant) ou -1 (ordre décroissant). Vous pouvez également créer des index de tri à plusieurs champs qui trient plusieurs champs.
