mongodb 修改器学习
1. 执行update相关操作都可以使用修改器. 2. 修改器是为了不整个大文档来替换修改, 而是修改局部 3. 详情: 3.1 $inc (自增) 为增加某个字段的数值 例子: 原文档如下: { "_id" : ObjectId("4b253b067525f35f94b60a31"), "url" : "www.example.com", "pageview
1. 执行update相关操作都可以使用修改器.
2. 修改器是为了不整个大文档来替换修改, 而是修改局部
3. 详情:
3.1 $inc (自增)
为增加某个字段的数值
例子:
原文档如下:
{ "_id" : ObjectId("4b253b067525f35f94b60a31"), "url" : "www.example.com", "pageviews" : 52 }
执行修改器 $inc
db.test.update({url:’www.example.com’},{$inc:{pageviews: 1}})
表示为pageviews这个 key 的值 加上1. 后面是对应要加上的值.
注意, $inc中, 字段对应的值只能是 数字. 但是可以是 正数也可以是负数. 如果是负数, 就是执行一个减法操作.
3.2 $set (设置)
修改某个字段的值为指定的值. 这里的修改是与字段类型无关的. 你可以把一个string修改成long或者一个对象都行.
例子:
原文档如下:
{ "_id" : ObjectId("4b253b067525f35f94b60a31"), "name" : "joe", "age" : 30, "sex" : "male", "location" : "Wisconsin" }
修改性别, 变成false (String -> Boolean)
执行修改器 $set
db.test.update({name:'joe'}, {$set:{sex:false}})
表示将 name为joe的这个对象的 sex修改为false
3.3 $unset (删除字段)
这个修改器是为了删除某个指定的字段及其值.
例子:
原文档如下:
{ "_id" : ObjectId("4f9105377522000000006be0"), "howlong" : 6, "lovePerson" : "zhanying", "person" : "jiacheo" }
把howlong删除
执行修改器 $unset
db.test.update({person:'jiacheo'},{$unset:{howlong:1}})
后面的1没具体意义, 相当于确认
3.4 $push (把一个数据放到数组里面)
例子:
原文档如下:
{ "_id" : ObjectId("4f9105377522000000006be0"), "lovePerson" : "zhanying", "person" : "jiacheo", "supporters" : [ "gongjin" ] }
执行修改器, 增加一个人到supporters里面
db.test.update({person:'jiacheo'},{$push:{supporters:'ziming'}})
这时候变成:
{ "_id" : ObjectId("4f9105377522000000006be0"), "lovePerson" : "zhanying", "person" : "jiacheo", "supporters" : [ "gongjin", "ziming" ] }
若果再执行一遍上面的代码, 那么数组还是会加上同样的名称, 如果你需要排同, 可以用后面这个修改器
3.5 $addToSet (将一个对象放到集合里面. 集合里面不会出现两个重复的一模一样的对象)
例子:
原文档如下:
{ "_id" : ObjectId("4f9105377522000000006be0"), "lovePerson" : "zhanying", "person" : "jiacheo", "supporters" : [ "gongjin", "ziming" ] }
执行修改器 $addToSet
db.test.update({person:'jiacheo'},{$addToSet:{supporters:'ziming'}})
文档内容没有改变..
以上两个修改器还可以配合 $each, 把一个数据里的数据append到另一个数组上去(后者会排重)
比如:
db.test.update({person:'jiacheo'}, {$addToSet:{supporters:{$each: ["gongjin","ziming","liuxun","feidu"] }}})
执行后, 结果如下:
{ "_id" : ObjectId("4f9105377522000000006be0"), "lovePerson" : "zhanying", "person" : "jiacheo", "supporters" : ["gongjin", "ziming", "feidu", "liuxun" ] }
3.6 $pop 队列出列 (按数组索引顺序出列(正序或者倒序))
例子:
原文档如下:
{ "_id" : ObjectId("4f9105377522000000006be0"), "lovePerson" : "zhanying", "person" : "jiacheo", "supporters" : ["gongjin", "ziming", "feidu", "liuxun" ] }
执行修改器 $pop
db.test.update({person:'jiacheo'},{$pop:{supporters:1}})
修改后变为
{ "_id" : ObjectId("4f9105377522000000006be0"), "lovePerson" : "zhanying", "person" : "jiacheo", "supporters" : [ "gongjin", "ziming", "feidu" ] }
value 值为1 表示数组索引靠后的先出列, 也就是后进先出, 相当于出栈的概念. value值为-1表示数组索引考前的先出列, 也就是先进先出, 相当于一个FIFO的队列
3.7 $pull (符合条件的元素出列)
与上一个相比, 这个修改器会把符合条件的元素从数组中删除, 而不是简单的按照索引值的大小来处理.
原文档如下:
{ "_id" : ObjectId("4f9105377522000000006be0"), "lovePerson" : "zhanying", "person" : "jiacheo", "supporters" : [ "gongjin", "ziming", "feidu" ] }
执行修改器 $pull
db.test.update({person:'jiacheo'},{$pull:{supporters: 'gongjin'}})
修改后:
{ "_id" : ObjectId("4f9105377522000000006be0"), "lovePerson" : "zhanying", "person" : "jiacheo", "supporters" : [ "ziming", "feidu" ] }
可以见, gongjin从supporters中被remove掉了.
这里所有被匹配的元素都会被出列
原文地址:mongodb 修改器学习, 感谢原作者分享。

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

AI Hentai Generator
Générez AI Hentai gratuitement.

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)

Il est recommandé d'utiliser la dernière version de MongoDB (actuellement 5.0) car elle fournit les dernières fonctionnalités et améliorations. Lors de la sélection d'une version, vous devez prendre en compte les exigences fonctionnelles, la compatibilité, la stabilité et le support de la communauté. Par exemple, la dernière version comporte des fonctionnalités telles que les transactions et l'optimisation du pipeline d'agrégation. Assurez-vous que la version est compatible avec l'application. Pour les environnements de production, choisissez la version avec support à long terme. La dernière version bénéficie d'un support communautaire plus actif.

Node.js est un environnement d'exécution JavaScript côté serveur, tandis que Vue.js est un framework JavaScript côté client permettant de créer des interfaces utilisateur interactives. Node.js est utilisé pour le développement côté serveur, comme le développement d'API de service back-end et le traitement des données, tandis que Vue.js est utilisé pour le développement côté client, comme les applications monopage et les interfaces utilisateur réactives.

Les données de la base de données MongoDB sont stockées dans le répertoire de données spécifié, qui peut être situé dans le système de fichiers local, le système de fichiers réseau ou le stockage cloud. L'emplacement spécifique est le suivant : Système de fichiers local : Le chemin par défaut est Linux/macOS : /data/db, Windows : C:\data\db. Système de fichiers réseau : le chemin dépend du système de fichiers. Stockage cloud : le chemin est déterminé par le fournisseur de stockage cloud.

La base de données MongoDB est connue pour sa flexibilité, son évolutivité et ses hautes performances. Ses avantages incluent : un modèle de données documentaires qui permet de stocker les données de manière flexible et non structurée. Évolutivité horizontale vers plusieurs serveurs via le partitionnement. Flexibilité des requêtes, prenant en charge les requêtes complexes et les opérations d’agrégation. La réplication des données et la tolérance aux pannes garantissent la redondance des données et la haute disponibilité. Prise en charge de JSON pour une intégration facile avec les applications frontales. Hautes performances pour une réponse rapide même lors du traitement de grandes quantités de données. Open source, personnalisable et gratuit à utiliser.

Après plusieurs pré-versions, l'équipe de développement de KDE Plasma a dévoilé le 28 février la version 6.0 de son environnement de bureau pour les systèmes Linux et BSD, utilisant pour la première fois le framework Qt6. KDE Plasma 6.1 est désormais livré avec un certain nombre de nouvelles fonctionnalités

MongoDB est un système de base de données distribuée orienté document utilisé pour stocker et gérer de grandes quantités de données structurées et non structurées. Ses concepts de base incluent le stockage et la distribution de documents, et ses principales fonctionnalités incluent le schéma dynamique, l'indexation, l'agrégation, la réduction de mappage et la réplication. Il est largement utilisé dans les systèmes de gestion de contenu, les plateformes de commerce électronique, les sites Web de réseaux sociaux, les applications IoT et le développement d'applications mobiles.

Sous Linux/macOS : Créez le répertoire de données et démarrez le service "mongod". Sous Windows : créez le répertoire de données et démarrez le service MongoDB à partir de Service Manager. Dans Docker : Exécutez la commande "docker run". Sur d'autres plateformes : Veuillez consulter la documentation MongoDB. Méthode de vérification : exécutez la commande "mongo" pour vous connecter et afficher la version du serveur.

Le fichier de base de données MongoDB se trouve dans le répertoire de données MongoDB, qui est /data/db par défaut, qui contient .bson (données du document), ns (informations de collecte), journal (enregistrements d'opération d'écriture), wiredTiger (données lors de l'utilisation de WiredTiger moteur de stockage) et config (informations de configuration de la base de données) et autres fichiers.
