Maison base de données tutoriel mysql mongodb update 字符 操作

mongodb update 字符 操作

Jun 07, 2016 pm 04:37 PM
mongodb update sous 字符 操作 pratique

下面常用的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 }
Copier après la connexion

2,php upsert操作

$collection->update(
 array("name" => "zhang"),
 array("_id"=>2,"name"=>"tank","rating"=>10,"score"=>10),
 array("upsert" => true)
);
print_r($collection->findOne());
Copier après la connexion

二,$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 }
Copier après la connexion

2,php $set操作

$where = array("_id"=>1);
$param = array('$set'=>array("score"=>"100")); //注意此处的set必须为 单引号
$collection->update($where,$param);
print_r($collection->findOne());
Copier après la connexion

三,$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 }   //第二次,发现有这个字段就把值加上去了
Copier après la connexion

2,php $inc操作

$where = array("_id"=>1);
$param = array('$inc'=>array("age"=>30));
$collection->update($where,$param);
print_r($collection->findOne());
Copier après la connexion

四,$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 }
>
Copier après la connexion

2,php $unset操作

$where = array("_id"=>1);
$param = array('$unset'=>array("score"=>""));
$collection->update($where,$param);
print_r($collection->findOne());
Copier après la connexion

五,$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 }
Copier après la connexion

2,php $rename 操作

$where = array("_id"=>1);
$param = array('$rename'=>array("firstname"=>"name"));   //将firstname改成name
$collection->update($where,$param);
print_r($collection->findOne());
Copier après la connexion

六,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 }     //这条数据更新了
Copier après la connexion

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);
Copier après la connexion

版本不一样,功能多少会不一样,例如,我用的版本是2.6.3,$min和$max就用不了,会报"errmsg" : "Invalid modifier specified $min",希望mongodb出一个稳定高版本。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment configurer l'expansion automatique de MongoDB sur Debian Comment configurer l'expansion automatique de MongoDB sur Debian Apr 02, 2025 am 07:36 AM

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

Comment assurer la haute disponibilité de MongoDB sur Debian Comment assurer la haute disponibilité de MongoDB sur Debian Apr 02, 2025 am 07:21 AM

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

Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Apr 08, 2025 pm 09:39 PM

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).

Quelle est la stratégie de sauvegarde Centos MongoDB? Quelle est la stratégie de sauvegarde Centos MongoDB? Apr 14, 2025 pm 04:51 PM

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é.

Mise à jour majeure de Pi Coin: PI Bank arrive! Mise à jour majeure de Pi Coin: PI Bank arrive! Mar 03, 2025 pm 06:18 PM

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

Comment chiffrer les données dans Debian MongoDB Comment chiffrer les données dans Debian MongoDB Apr 12, 2025 pm 08:03 PM

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: une comparaison complète MongoDB et base de données relationnelle: une comparaison complète Apr 08, 2025 pm 06:30 PM

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

Comment trier l'index MongoDB Comment trier l'index MongoDB Apr 12, 2025 am 08:45 AM

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.

See all articles