一、基本命令
1、数据库
登录
mongo
查看数据库
show dbs;
或
show databases;
进入某个数据库
use +数据库名
查看当前所在的数据库
db
删除数据库
db.dropDatabase();
2、集合
查看数据库中的所有集合
show collections;
删除集合
db.集合名.drop();
3、文档——数据库的CRUD操作
①向数据库中插入文档
db.集合名.insert(内容);
db.集合名.insertOne({});
db.集合名.insertMany([{},{},{}。。。。]);
后两个只是第一个变种
其中db代表当前的数据库
插入多个文档:
db.stu.insert([
{name:'阿西吧',age:12,gender:'男'},
{name:'猪猪侠',age:20,gender:'男'},
{name:'白骨精',age:1200,gender:'女'}
]);
例子
当我们向集合中插入文档时,如果没有给文档指定_id属性,则数据库会自动为文档添加。该属性用来作为文档的唯一标识,是根据时间戳和机器码生成的,不会重复。也可以自己指定,但是也必须确保唯一性。
②查询当前集合中的所有符合条件的文档
db.集合名.find();#返回的是一个数组
db.集合名.findOne();#返回的是一个文档对象
find中可以接收一个对象作为条件。如:find({_id:"hello"});
db.stu.find({name:"小西米"});
db.stu.findOne({age:18}).name;#使用文档对象可以获得其他属性
db.stu.find({}).count();#查询个数
MongoDB支持直接通过内嵌文档的属性查询,如果要查询内嵌文档则可以通过 · (点) 的形式来匹配。
如果要通过内嵌文档进行查询,此时属性名必须使用引号
{
"_id" : ObjectId("5b4d9392fa8ced9a18ad947b"),
"name" : "sunwukong",
"hobby" : {
"cities" : [
"beijing",
"shanghai",
"shenzhen"
],
"movies" : [
"sanguo",
"hero"
]
}
}
查询:
db.user.find({'hobby.movies':"hero"});
③修改文档
db.集合名.update(查询条件,新对象,选项设置);
db.集合名.updateOne(查询条件,新对象);#修改一个符合条件的文档
db.集合名.updateMany(查询条件,新对象);#修改多个符合条件的文档
db.集合名.replaceOne(查询条件,新对象);#专门用来替换的
后三个只是前一个功能细分,实际上可以用第一个代替
默认情况下update会使用新对象替换旧对象。如果需要修改指定的属性而不是替换需要使用 “操作符” 来完成修改
实例
db.stu.update({name:"小西米"},{age:28});#替换
$set:可以用来修改文档中的指定属性。同理 $unset:可以用来删除指定属性
db.stu.update(
{age:28},
{$set:{
name:"小西米",gender:"女"
}}
);
修改多个
db.stu.update(
{age:28},
{$set:{
name:"小西米",gender:"女"
}},
multi:true
);
④删除
db.集合名.remove();
db.集合名.deleteOne();
db.集合名.deleteMany();
删除符合条件的一个或所有文档,默认删除所有。
实例
db.stu.remove({name:"小西米"});#删除所有符合条件的
db.stu.remove({name:"小西米"},true);#删除第一个符合条件的
db.集合名.remove({});#删除所有,必须传入