加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 系统 > 正文

探讨MongoDB 中十大查询方法

发布时间:2023-10-03 13:27:17 所属栏目:系统 来源:
导读: 这篇文章给大家介绍一些mongodb基本命令,小编认为是比较实用的,因此分享给大家作参考,有这方面学习需要的朋友可以了解一下,下面就跟随小编来看看吧。 1 切换数据库use admin; 2 查看当前数据库db;

    这篇文章给大家介绍一些mongodb基本命令,小编认为是比较实用的,因此分享给大家作参考,有这方面学习需要的朋友可以了解一下,下面就跟随小编来看看吧。

    1 切换数据库

use admin;

    2 查看当前数据库

db;

    2.1 查看所有数据库

show dbs;

    3 查看当前数据库下面的表

show collections;

    4 删除数据库

use test;

db.dropDatabase(); #删除当前数据库

show dbs; #验证删除结果

    5 删除集合或者表

db.table_name.drop(); #删除表 table_name

    6 查看账号信息

mongo --port=23000

use admin;

db.auth('username','password')

db.system.users.find().pretty() #查看所有账号信息

show users; #查看当前账号信息

db.getUser('username') #查看指定用户的信息

    7 使用gzip压缩的方式备份与恢复,注意只要换个命令就行,后面的不变,这里没用设置用户名和密码

mongodump --port=23000 --archive=/data/mongo_backup/testdb-2.20191203.gz --db testdb-2 --gzip

mongorestore --port=23000 --archive=/data/mongo_backup/testdb-2.20191203.gz --db testdb-2 --gzip

** 这种备份方式生成一个gzip文件,解压后也是一个文件,将所有内容都放到一个文件里面

    8 不压缩的方式备份

mongodump --port=23000 --db=testdb-2 -o /data/mongo_backup/20191203

mongorestore --port=23000 --db=testdb-2 --drop /data/mongo_backup/20191203/testdb-2

**经过这种方式备份,每个表通常就两个文件:.bson和.metadata.json

    9 在shell中使用mongo命令查询

# 使用eval mongo ip:port/database --eval ""

[root@localhost ~]# mongo localhost:23000/testdb-2 --eval "printjson(db.table1.findOne())"

MongoDB shell version v3.6.13

connecting to: mongodb://localhost:23000/testdb-2?gssapiServiceName=mongodb

Implicit session: session { "id" : UUID("e87ef5ae-a6b7-47d6-a91c-65f3a0b81ac0") }

MongoDB server version: 3.6.13

{

"_id" : ObjectId("5de60a767321940034390f16"),

"id" : 129,

"name" : "hehe"

}

#使用--quiet 去掉不必要的信息

[root@localhost ~]# mongo localhost:23000/testdb-2 --quiet --eval "printjson(db.table2.findOne())"

{ "_id" : ObjectId("5de615b8eac07a724c6911b6"), "id" : 6, "name" : "hehe" }

#删除表

[root@localhost ~]# mongo localhost:23000/testdb-2 --eval "db.table1.drop();"

MongoDB shell version v3.6.13

connecting to: mongodb://localhost:23000/testdb-2?gssapiServiceName=mongodb

Implicit session: session { "id" : UUID("0cf5b11f-c6ef-417c-8bbd-a2f8414f589c") }

MongoDB server version: 3.6.13

true

    10 shell脚本中使用mongo命令

#!/bin/bash

mongo localhost:23000/testdb-2 <<EOF

var cursor=db.table2.find();

while (cursor.hasNext()){

var item = cursor.next();

print(item.name);

}

EOF

#传参的方式

#!/bin/bash

table_name=$1

mongo localhost:23000/testdb-2 <<EOF

var cursor=db.${table_name}.find();

while (cursor.hasNext()){

var item = cursor.next();

print(item.name);

}

EOF

    以上就是关于mongodb基本命令的介绍,文本示例有一定的借鉴价值,有需要的朋友可以参考,希望本文对大家学习有帮助,想要了解更多mongodb命令,大家可以关注其他文章。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章