MongoDB是大型架构核心,下面我详解MongoDB命令@mikechen
1、show dbs(查看数据库)
作用
查看当前 MongoDB 实例中的所有数据库。
语法
show dbs
输出示例:
admin 40.00 KiB
config 108.00 KiB
local 72.00 KiB
order 2.3 GiB
user 1.1 GiB
适用于快速查看数据库列表。
2、use(切换数据库)
作用
切换数据库,如果数据库不存在,会在首次写入数据时自动创建。
use order
输出:
switched to db order
创建数据库:
use testdb
只有插入数据后才真正创建。
3、db(查看当前数据库)
查看当前所在数据库。
db
输出:
order
开发调试时十分常用。
4、show collections(查看集合)
查看当前数据库所有 Collection。
show collections
输出:
user
order
product
log
类似 MySQL:
SHOW TABLES;
5、db.createCollection(创建集合)
创建集合。
db.createCollection("user")
输出:
{ ok: 1 }
带参数:
db.createCollection("log", {
capped: true,
size: 104857600
})
表示创建固定大小日志集合。
6、db.collection.insertOne(插入一条数据)
插入一条文档。
db.user.insertOne({
name: "Tom",
age: 25,
city: "Beijing"
})
输出:
acknowledged: true
适用于新增单条数据。
7、db.collection.insertMany(批量插入)
批量插入。
db.user.insertMany([
{
name: "Tom",
age: 20
},
{
name: "Lucy",
age: 22
}
])
适用于初始化数据。
8、db.collection.find(查询数据)
查询全部数据。
db.user.find()
格式化输出:
db.user.find().pretty()
查询指定字段:
db.user.find(
{},
{
name:1,
age:1
}
)
条件查询:
db.user.find({
age:20
})
9、db.collection.findOne(查询单条)
查询一条记录。
db.user.findOne({
name:"Tom"
})
输出:
{
"_id": "...",
"name":"Tom",
"age":20
}
10、db.collection.updateOne(更新数据)
更新一条。
db.user.updateOne(
{
name:"Tom"
},
{
$set:{
age:30
}
}
)
更新多个:
db.user.updateMany(
{},
{
$set:{
status:1
}
}
)
11、db.collection.deleteOne(删除数据)
删除一条。
db.user.deleteOne({
name:"Tom"
})
删除多条:
db.user.deleteMany({
age:{
$lt:18
}
})
删除全部:
db.user.deleteMany({})
12、db.collection.countDocuments(统计数量)
统计记录数。
db.user.countDocuments()
统计符合条件:
db.user.countDocuments({
age:{
$gte:18
}
})
适用于分页统计。
13、db.collection.createIndex(创建索引)
创建普通索引。
db.user.createIndex({
name:1
})
创建联合索引。
db.order.createIndex({
userId:1,
createTime:-1
})
唯一索引:
db.user.createIndex(
{
email:1
},
{
unique:true
})
查看索引:
db.user.getIndexes()
14、db.collection.aggregate(聚合查询)
MongoDB 最强大的查询能力。
统计订单数量。
db.order.aggregate([
{
$group:{
_id:"$status",
total:{
$sum:1
}
}
}
])
按年龄统计:
db.user.aggregate([
{
$group:{
_id:"$age",
count:{
$sum:1
}
}
}
])
15、db.stats(查看数据库信息)
查看数据库统计信息。
db.stats()
输出:
collections
objects
storageSize
indexSize
dataSize
适用于查看数据库容量。