成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。

输入help可以">
Maison base de données tutoriel mysql MongoDB基本使用

MongoDB基本使用

Jun 07, 2016 pm 04:30 PM
mongodb 使用 启动 基本 succès 打开

成功启动MongoDB后,再打开一个命令行窗口输入 mongo ,就可以进行数据库的一些操作。 输入help可以看到基本操作命令: show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表) show users:显示用户 use db name:切换

MongoDB基本使用

成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。

输入help可以看到基本操作命令:

show dbs:显示数据库列表
show collections:显示当前数据库中的集合(类似关系数据库中的表)
show users:显示用户

use :切换当前数据库,这和MS-SQL里面的意思一样
db.help():显示数据库操作命令,里面有很多的命令
db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令
db.foo.find():对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)
db.foo.find( { a : 1 } ):对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1

MongoDB没有创建数据库的命令,但有类似的命令。

如:如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库。

数据库常用命令

1、Help查看命令提示

help

 db.help();

 db.yourColl.help();

 db.youColl.find().help();

 rs.help();

2、切换/创建数据库

use yourDB;  当创建一个集合(table)的时候会自动创建当前数据库

3、查询所有数据库

show dbs;

4、删除当前使用数据库

db.dropDatabase();

5、从指定主机上克隆数据库

db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库

6、从指定的机器上复制指定数据库数据到某个数据库

db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中

7、修复当前数据库

db.repairDatabase();

8、查看当前使用的数据库

db.getName();

db; db和getName方法是一样的效果,都可以查询当前使用的数据库

9、显示当前db状态

db.stats();

10、当前db版本

db.version();

11、查看当前db的链接机器地址

db.getMongo();

Collection聚集集合

1、创建一个聚集集合(table

db.createCollection(“collName”, {size: 20, capped: 5, max: 100});

2、得到指定名称的聚集集合(table

db.getCollection("account");

3、得到当前db的所有聚集集合

db.getCollectionNames();

4、显示当前db所有聚集索引的状态

db.printCollectionStats();

用户相关

1、添加一个用户

db.addUser("name");

db.addUser("userName", "pwd123", true); 添加用户、设置密码、是否只读

2、数据库认证、安全模式

db.auth("userName", "123123");

3显示当前所有用户

show users;

4、删除用户

db.removeUser("userName");

其他

1、查询之前的错误信息

db.getPrevError();

2、清除错误记录

db.resetError();

查看聚集集合基本信息

1、查看帮助 ?db.yourColl.help();
Copier après la connexion
2、查询当前集合的数据条数 ?db.yourColl.count();
Copier après la connexion
3、查看数据空间大小 db.userInfo.dataSize();
Copier après la connexion
4、得到当前聚集集合所在的db db.userInfo.getDB();
Copier après la connexion
5、得到当前聚集的状态 db.userInfo.stats();
Copier après la connexion
6、得到聚集集合总大小 db.userInfo.totalSize();
Copier après la connexion
7、聚集集合储存空间大小 db.userInfo.storageSize();
Copier après la connexion
8、Shard版本信息 ?db.userInfo.getShardVersion()
Copier après la connexion
9、聚集集合重命名 db.userInfo.renameCollection("users"); 将userInfo重命名为users
Copier après la connexion
10、删除当前聚集集合 db.userInfo.drop();
Copier après la connexion

聚集集合查询

1、查询所有记录
Copier après la connexion
db.userInfo.find();
Copier après la connexion
相当于:select* from userInfo;
Copier après la connexion
默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数据。注意:键入it命令不能带“;”
Copier après la connexion
但是你可以设置每页显示数据的大小,用DBQuery.shellBatchSize= 50;这样每页就显示50条记录了。
Copier après la connexion
2、查询去掉后的当前聚集集合中的某列的重复数据
Copier après la connexion
db.userInfo.distinct("name");
Copier après la connexion
会过滤掉name中的相同数据
Copier après la connexion
相当于:select distict name from userInfo;
Copier après la connexion
3、查询age = 22的记录
Copier après la connexion
db.userInfo.find({"age": 22});
Copier après la connexion
相当于: select * from userInfo where age = 22;
Copier après la connexion
4、查询age > 22的记录
Copier après la connexion
db.userInfo.find({age: {$gt: 22}});
Copier après la connexion
相当于:select * from userInfo where age >22;
Copier après la connexion
5、查询age <pre class="brush:php;toolbar:false">db.userInfo.find({age: {$lt: 22}});
Copier après la connexion
相当于:select * from userInfo where age <pre class="brush:php;toolbar:false">6、查询age >= 25的记录
Copier après la connexion
db.userInfo.find({age: {$gte: 25}});
Copier après la connexion
相当于:select * from userInfo where age >= 25;
Copier après la connexion
7、查询age <pre class="brush:php;toolbar:false">db.userInfo.find({age: {$lte: 25}});
Copier après la connexion
8、查询age >= 23 并且 age <pre class="brush:php;toolbar:false">db.userInfo.find({age: {$gte: 23, $lte: 26}});
Copier après la connexion
9、查询name中包含 mongo的数据
Copier après la connexion
db.userInfo.find({name: /mongo/});
Copier après la connexion
//相当于%%
Copier après la connexion
select * from userInfo where name like ‘%mongo%’;
Copier après la connexion
10、查询name中以mongo开头的
Copier après la connexion
db.userInfo.find({name: /^mongo/});
Copier après la connexion
select * from userInfo where name like ‘mongo%’;
Copier après la connexion
11、查询指定列name、age数据
Copier après la connexion
db.userInfo.find({}, {name: 1, age: 1});
Copier après la connexion
相当于:select name, age from userInfo;
Copier après la connexion
当然name也可以用true或false,当用ture的情况下河name:1效果一样,如果用false就是排除name,显示name以外的列信息。
Copier après la connexion
12、查询指定列name、age数据, age > 25
Copier après la connexion
db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});
Copier après la connexion
相当于:select name, age from userInfo where age >25;
Copier après la connexion
13、按照年龄排序
Copier après la connexion
升序:db.userInfo.find().sort({age: 1});
Copier après la connexion
降序:db.userInfo.find().sort({age: -1});
Copier après la connexion
14、查询name = zhangsan, age = 22的数据
Copier après la connexion
db.userInfo.find({name: 'zhangsan', age: 22});
Copier après la connexion
相当于:select * from userInfo where name = ‘zhangsan’ and age = ‘22’;
Copier après la connexion
15、查询前5条数据
Copier après la connexion
db.userInfo.find().limit(5);
Copier après la connexion
相当于:selecttop 5 * from userInfo;
Copier après la connexion
16、查询10条以后的数据
Copier après la connexion
db.userInfo.find().skip(10);
Copier après la connexion
相当于:select * from userInfo where id not in (
Copier après la connexion
selecttop 10 * from userInfo
Copier après la connexion
);
Copier après la connexion
17、查询在5-10之间的数据
Copier après la connexion
db.userInfo.find().limit(10).skip(5);
Copier après la connexion
可用于分页,limit是pageSize,skip是第几页*pageSize
Copier après la connexion
18、or与 查询
Copier après la connexion
db.userInfo.find({$or: [{age: 22}, {age: 25}]});
Copier après la connexion
相当于:select * from userInfo where age = 22 or age = 25;
Copier après la connexion
19、查询第一条数据
Copier après la connexion
db.userInfo.findOne();
Copier après la connexion
相当于:selecttop 1 * from userInfo;
Copier après la connexion
db.userInfo.find().limit(1);
Copier après la connexion
20、查询某个结果集的记录条数
Copier après la connexion
db.userInfo.find({age: {$gte: 25}}).count();
Copier après la connexion
相当于:select count(*) from userInfo where age >= 20;
Copier après la connexion
21、按照某列进行排序
Copier après la connexion
db.userInfo.find({sex: {$exists: true}}).count();
Copier après la connexion
相当于:select count(sex) from userInfo;
Copier après la connexion
索引
1、创建索引
Copier après la connexion
db.userInfo.ensureIndex({name: 1});
Copier après la connexion
db.userInfo.ensureIndex({name: 1, ts: -1});
Copier après la connexion
2、查询当前聚集集合所有索引
Copier après la connexion
db.userInfo.getIndexes();
Copier après la connexion
3、查看总索引记录大小
Copier après la connexion
db.userInfo.totalIndexSize();
Copier après la connexion
4、读取当前集合的所有index信息
Copier après la connexion
db.users.reIndex();
Copier après la connexion
5、删除指定索引
Copier après la connexion
db.users.dropIndex("name_1");
Copier après la connexion
6、删除所有索引索引
Copier après la connexion
db.users.dropIndexes();
Copier après la connexion

修改、添加、删除集合数据

1、添加
Copier après la connexion
db.users.save({name: ‘zhangsan’, age: 25, sex: true});
Copier après la connexion
添加的数据的数据列,没有固定,根据添加的数据为准
Copier après la connexion
2、修改
Copier après la connexion
db.users.update({age: 25}, {$set: {name: 'changeName'}}, false, true);
Copier après la connexion
相当于:update users set name = ‘changeName’ where age = 25;
Copier après la connexion
db.users.update({name: 'Lisi'}, {$inc: {age: 50}}, false, true);
Copier après la connexion
相当于:update users set age = age + 50 where name = ‘Lisi’;
Copier après la connexion
db.users.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true);
Copier après la connexion
相当于:update users set age = age + 50, name = ‘hoho’ where name = ‘Lisi’;
Copier après la connexion
3、删除
Copier après la connexion
db.users.remove({age: 132});
Copier après la connexion
4、查询修改删除
Copier après la connexion
db.users.findAndModify({
Copier après la connexion
    query: {age: {$gte: 25}}, 
Copier après la connexion
Copier après la connexion
    sort: {age: -1}, 
Copier après la connexion
Copier après la connexion
    update: {$set: {name: 'a2'}, $inc: {age: 2}},
Copier après la connexion
Copier après la connexion
    remove: true
Copier après la connexion
Copier après la connexion
});
Copier après la connexion
Copier après la connexion
db.runCommand({ findandmodify : "users", 
Copier après la connexion
    query: {age: {$gte: 25}}, 
Copier après la connexion
Copier après la connexion
    sort: {age: -1}, 
Copier après la connexion
Copier après la connexion
    update: {$set: {name: 'a2'}, $inc: {age: 2}},
Copier après la connexion
Copier après la connexion
    remove: true
Copier après la connexion
Copier après la connexion
});
Copier après la connexion
Copier après la connexion
update 或 remove 其中一个是必须的参数; 其他参数可选。
Copier après la connexion
参数详解默认值query查询过滤条件{} sort如果多个文档符合查询过滤条件,将以该参数指定的排列方式选择出排在首位的对象,该对象将被操作{} remove若为true,被选中对象将在返回前被删除N/A update一个 修改器对象N/A new若为true,将返回修改后的对象而不是原始对象。在删除操作中,该参数被忽略。false fields参见Retrieving a Subset of Fields (1.5.0+) All fields upsert创建新对象若查询结果为空。 示例 (1.5.4+) false 
Copier après la connexion
语句块操作
1、简单Hello World
Copier après la connexion
print("Hello World!");
Copier après la connexion
这种写法调用了print函数,和直接写入"Hello World!"的效果是一样的;
Copier après la connexion
2、将一个对象转换成json
Copier après la connexion
tojson(new Object());
Copier après la connexion
tojson(new Object('a'));
Copier après la connexion
3、循环添加数据
Copier après la connexion
> for (vari= 0;i<pre class="brush:php;toolbar:false">... db.users.save({name: "u_" + i, age: 22 + i, sex: i % 2});
Copier après la connexion
... };
Copier après la connexion
这样就循环添加了30条数据,同样也可以省略括号的写法
Copier après la connexion
> for (vari= 0;i<pre class="brush:php;toolbar:false">也是可以的,当你用db.users.find()查询的时候,显示多条数据而无法一页显示的情况下,可以用it查看下一页的信息;
Copier après la connexion
4、find 游标查询
Copier après la connexion
>varcursor = db.users.find();
Copier après la connexion
> while (cursor.hasNext()) { 
Copier après la connexion
    printjson(cursor.next()); 
Copier après la connexion
}
Copier après la connexion
这样就查询所有的users信息,同样可以这样写
Copier après la connexion
Copier après la connexion
Copier après la connexion
while (cursor.hasNext()) { printjson(cursor.next); }
Copier après la connexion
同样可以省略{}号
Copier après la connexion
5、forEach迭代循环
Copier après la connexion
db.users.find().forEach(printjson);
Copier après la connexion
forEach中必须传递一个函数来处理每条迭代的数据信息
Copier après la connexion
6、将find游标当数组处理
Copier après la connexion
Copier après la connexion
Copier après la connexion
cursor[4];
Copier après la connexion
取得下标索引为4的那条数据
Copier après la connexion
既然可以当做数组处理,那么就可以获得它的长度:cursor.length();或者cursor.count();
Copier après la connexion
那样我们也可以用循环显示数据
Copier après la connexion
for (vari = 0, len = c.length(); i<len printjson><pre class="brush:php;toolbar:false">7、将find游标转换成数组
Copier après la connexion
>var arr = db.users.find().toArray();
Copier après la connexion
> printjson(arr[2]);
Copier après la connexion
用toArray方法将其转换为数组
Copier après la connexion
8、定制我们自己的查询结果
Copier après la connexion
只显示age <pre class="brush:php;toolbar:false">db.users.find({age: {$lte: 28}}, {age: 1}).forEach(printjson);
Copier après la connexion
db.users.find({age: {$lte: 28}}, {age: true}).forEach(printjson);
Copier après la connexion
排除age的列
Copier après la connexion
db.users.find({age: {$lte: 28}}, {age: false}).forEach(printjson);
Copier après la connexion
9、forEach传递函数显示信息
Copier après la connexion
db.things.find({x:4}).forEach(function(x) {print(tojson(x));});
Copier après la connexion


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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

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)

Quelle version est généralement utilisée pour mongodb ? Quelle version est généralement utilisée pour mongodb ? Apr 07, 2024 pm 05:48 PM

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.

Comment utiliser l'application Baidu Netdisk Comment utiliser l'application Baidu Netdisk Mar 27, 2024 pm 06:46 PM

Le stockage cloud est devenu aujourd’hui un élément indispensable de notre vie quotidienne et de notre travail. En tant que l'un des principaux services de stockage cloud en Chine, Baidu Netdisk a gagné la faveur d'un grand nombre d'utilisateurs grâce à ses puissantes fonctions de stockage, sa vitesse de transmission efficace et son expérience de fonctionnement pratique. Et que vous souhaitiez sauvegarder des fichiers importants, partager des informations, regarder des vidéos en ligne ou écouter de la musique, Baidu Cloud Disk peut répondre à vos besoins. Cependant, de nombreux utilisateurs peuvent ne pas comprendre l'utilisation spécifique de l'application Baidu Netdisk, ce didacticiel vous présentera donc en détail comment utiliser l'application Baidu Netdisk. Si vous êtes toujours confus, veuillez suivre cet article pour en savoir plus ! Comment utiliser Baidu Cloud Network Disk : 1. Installation Tout d'abord, lors du téléchargement et de l'installation du logiciel Baidu Cloud, veuillez sélectionner l'option d'installation personnalisée.

La différence entre nodejs et vuejs La différence entre nodejs et vuejs Apr 21, 2024 am 04:17 AM

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.

Comment utiliser NetEase Mailbox Master Comment utiliser NetEase Mailbox Master Mar 27, 2024 pm 05:32 PM

NetEase Mailbox, en tant qu'adresse e-mail largement utilisée par les internautes chinois, a toujours gagné la confiance des utilisateurs grâce à ses services stables et efficaces. NetEase Mailbox Master est un logiciel de messagerie spécialement créé pour les utilisateurs de téléphones mobiles. Il simplifie grandement le processus d'envoi et de réception d'e-mails et rend le traitement de nos e-mails plus pratique. Alors comment utiliser NetEase Mailbox Master, et quelles sont ses fonctions spécifiques Ci-dessous, l'éditeur de ce site vous donnera une introduction détaillée, en espérant vous aider ! Tout d’abord, vous pouvez rechercher et télécharger l’application NetEase Mailbox Master dans la boutique d’applications mobiles. Recherchez « NetEase Mailbox Master » dans l'App Store ou Baidu Mobile Assistant, puis suivez les instructions pour l'installer. Une fois le téléchargement et l'installation terminés, nous ouvrons le compte de messagerie NetEase et nous connectons. L'interface de connexion est la suivante

Tutoriel BTCC : Comment lier et utiliser le portefeuille MetaMask sur l'échange BTCC ? Tutoriel BTCC : Comment lier et utiliser le portefeuille MetaMask sur l'échange BTCC ? Apr 26, 2024 am 09:40 AM

MetaMask (également appelé Little Fox Wallet en chinois) est un logiciel de portefeuille de cryptage gratuit et bien accueilli. Actuellement, BTCC prend en charge la liaison au portefeuille MetaMask. Après la liaison, vous pouvez utiliser le portefeuille MetaMask pour vous connecter rapidement, stocker de la valeur, acheter des pièces, etc., et vous pouvez également obtenir un bonus d'essai de 20 USDT pour la première liaison. Dans le didacticiel du portefeuille BTCCMetaMask, nous présenterons en détail comment enregistrer et utiliser MetaMask, ainsi que comment lier et utiliser le portefeuille Little Fox dans BTCC. Qu'est-ce que le portefeuille MetaMask ? Avec plus de 30 millions d’utilisateurs, MetaMask Little Fox Wallet est aujourd’hui l’un des portefeuilles de crypto-monnaie les plus populaires. Son utilisation est gratuite et peut être installée sur le réseau en tant qu'extension

Où est la base de données créée par mongodb ? Où est la base de données créée par mongodb ? Apr 07, 2024 pm 05:39 PM

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.

Quels sont les avantages de la base de données MongoDB Quels sont les avantages de la base de données MongoDB Apr 07, 2024 pm 05:21 PM

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.

Comment utiliser l'application Xiaomi Auto Comment utiliser l'application Xiaomi Auto Apr 01, 2024 pm 09:19 PM

Le logiciel de voiture Xiaomi fournit des fonctions de contrôle de voiture à distance, permettant aux utilisateurs de contrôler le véhicule à distance via des téléphones mobiles ou des ordinateurs, comme l'ouverture et la fermeture des portes et fenêtres du véhicule, le démarrage du moteur, le contrôle de la climatisation et du système audio du véhicule, etc. l'utilisation et le contenu de ce logiciel, découvrons-le ensemble. Liste complète des fonctions et méthodes d'utilisation de l'application Xiaomi Auto 1. L'application Xiaomi Auto a été lancée sur l'AppStore d'Apple le 25 mars et peut désormais être téléchargée depuis l'App Store sur les téléphones Android. Achat de voiture : découvrez les principaux points forts et les paramètres techniques ; de Xiaomi Auto, et prenez rendez-vous pour un essai routier, configurez et commandez votre voiture Xiaomi, et prenez en charge le traitement en ligne des tâches de récupération de voiture. 3. Communauté : comprenez les informations de la marque Xiaomi Auto, échangez votre expérience automobile et partagez une vie de voiture merveilleuse. 4. Contrôle de la voiture : le téléphone mobile est la télécommande, la télécommande, la sécurité en temps réel, facile ;

See all articles