MongoDB常用命令

MongoDB常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# 创建数据库(或切换数据库)
use DATABASE_NAME

# 查看现在的数据库(默认数据库为test)
db

# 查看所有数据库
show dbs

# 删除数据库
db.dropDatabase()

# 插入数据
db.DATABASE_NAME.insert({"name":"Max"})

# 创建集合 类似数据库中的表
db.createCollection(COLLECTION_NAME, options)

# 当插入数据时,集合也可以自动创建
db.DATABASE_NAME.insert({"name":"Max"})

# 删除集合
db.COLLECTION_NAME.drop()

# 显示集合
show tables 或 show collections

# 更新
db.COLLECTION_NAME.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)

# 删除
db.COLLECTION_NAME.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)

# 查询
db.COLLECTION_NAME.find(query, projection)
db.COLLECTION_NAME.findOne(query, projection)
db.COLLECTION_NAME.find().pretty() # 格式化的方式显示所有文档

# 条件操作符
$gt --------- > (greater than)
$gte --------- >= (gt equal)
$lt --------- < (less than)
$lte --------- <= (lt equal)
$ne --------- != (not equal)
$eq --------- = (equal)

# 使用正则查询
db.COLLECTION_NAME.find({title:/教$/})

# 查询指定数量的数据
db.COLLECTION_NAME.find().limit(NUMBER)

# 跳过指定数据
db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

# 排序
db.COLLECTION_NAME.find().sort({KEY:1})

# 创建索引
db.COLLECTION_NAME.createIndex(keys, options)

# 聚合
db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)

# 数据备份
mongodump -h dbhost -d dbname -o dbdirectory

# 数据恢复
mongorestore -h <hostname><:port> -d dbname <path>

# 监控
mongodb\bin> mongostat