MongoDB命令
-
启动MongoDB命令黑窗口
在MongoDB安装目录的bin文件夹下双击mongo.exe,即可启动
-
MongoDB简单命令
// 查看当前MongoDB软件下有哪些库
// 注意:show dbs命令不会显示空的数据库
show dbs;
// 查看用户当前连接的是哪个数据库
db;
/** 创建一个新的数据库:use 数据库名
1) use:可以切换到某一数据库下
2) use:当某一数据库不存在时,则自动创建一个库
*/
use zhiheng;
// 删除库:db.dropDatabase(),此处的db代表的是当前数据库
db.dropDatabase();
// 查看某一个库下所有的集合:show tables;
show tables;
- MongoDB增删改查命令
// *******************************新增****************************************************
// 添加一条数据
// 语法规则:db.集合名.insert({key:value...})
db.books.insert({"bname":"红楼梦","price":78.90,"author":"曹雪芹"})
// 添加多条记录
// 语法规则:db.集合名.insert([{key:value...},{key:value...},{key:value...}...])
db.books.insert([
{"bname":"西游记","price":99.90,"author":"吴承恩"},
{"bname":"水浒传","price":65.90,"author":"施耐庵"},
{"bname":"论语","price":99.80,"author":"孔子"}
])
// 嵌套添加
db.books.insert({
"author":"老子",
"bnames":[
{"bname":"老子","price":119.90},
{"bname":"道德经","price":119.90}
]
})
// 嵌套添加多条
db.books.insert({
"discussUer":"张无忌",
"content":[{"type":"非常不错","server":"5星"},{"type":"还行","server":"3星"}],
"reply":[
{
"discussUser":"周芷若",
"content":[{"type":"扯淡","server":"0星"},{"type":"非常差","server":"1星"}]
},
{
"discussUser":"赵敏",
"content":[{"type":"很好","server":"4星"},{"type":"比较差","server":"3星"}]
}
]
})
// *******************************查询****************************************************
// 查询books集合中所有的数据
db.books.find();
// 将查询的结果进行格式化
db.books.find().pretty();
// 分页查询
// db.集合名.find({条件键值对}).skip(起始下标).limit(每页显示的数据条数);
db.books.find().skip(0).limit(3);
// 根据条件查询
db.books.find({
"bname":"西游记",
"author":"吴承恩"
})
// 模糊查询
/**
语法规则:db.集合名.find(
{
"字段名":{$regex:/匹配规则/参数}
}
)
*/
// 简单模糊查询
db.books.find({
"bname":{$regex:/西游/},
"author":{$regex:/恩/}
})
// 查询bname中包含a所有数据,区分大小写
db.books.find({
"bname":{$regex:/a/}
})
// 查询bname中包含a的所有数据,不区分大小写
db.books.find({
"bname":{$regex:/a/i}
})
// 查询bname中以a开头的所有数据,不区分大小写
db.books.find({
"bname":{$regex:/^a/i}
})
// 查询bname中以a结尾的所有数据,不区分大小写
db.books.find({
"bname":{$regex:/a$/i}
})
// 查询bname中以a结尾的所有数据,不区分大小写,价格区间为90-100
db.books.find({
"bname":{$regex:/a$/i},
$and:[
{"price":{$gte:90}},
{"price":{$lte:100}}
]
})
db.books.find({
$and:[
{"bname":{$regex:/a$/i}},
{"price":{$gte:90}},
{"price":{$lte:100}}
]
})
// 逻辑运算符:$and、$or(或)
// 关系运算符:$gt(大于)、$gte(大于等于)、$lt(小于)、$lte(小于等于)、$ne(不等于)
// $gt(大于)
db.books.find({
"price":{$gt:98}
})
// $gte(大于等于)
db.books.find({
"price":{$gte:98}
})
// $lt(小于)
db.books.find({
"price":{$lt:98}
})
// $lte(小于等于)
db.books.find({
"price":{$lte:98}
})
// $ne(不等于)
db.books.find({
"price":{$ne:98}
})
// 大于69并且小于90
db.books.find({
$and:[
{"price":{$gt:69}},
{"price":{$lt:90}}
]
})
// bname=西游记或者author=吴承恩
db.books.find({
$or:[
{"bname":"西游记"},
{"author":"吴承恩"}
]
})
// *******************************修改****************************************************
// 修改语法规则:
db.集合名.update(
{key:value},// 条件键值对,可写多个
{
$set:{k1:v1,k2:v2,k3:v3}
},// 修改后的新值
{
multi:true // 默认为false:只改第一条数据,true可以全部修改
},// 参数,可以省略不写
)
// 修改bname=西游记的所有数据
db.books.update(
{"bname":"西游记"},
{
$set:{
"price":99.9,
"author":"吴承恩"
}
},
{
multi:true
}
)
// *******************************删除****************************************************
// 删除语法规则
db.集合名.remove(
{}//条件键值对
);
// 删除books集合中的所有数据
db.books.remove({});
// 删除bname=abc的数据
db.books.remove({
"bname":"abc"
})
// 删除bname=ABC并且author=施耐庵的数据
db.books.remove({
"bname":"ABC",
"author":"施耐庵"
})