/*
================================================================================================================================
其他
*/
查看数据库
show dbs;
使用数据库
use dbname;
查看文档(mysql表)
show collections;
/*
================================================================================================================================
向数据库中插入文档
db.<collection>.insert()
- 向集合中插入一个或者多个文档
*/
db.stus.insert({
name:"小H",
age:20,
gender:"女"
});
/*
一次插入多个
*/
db.stus.insert([
{
name:"小BB",age:21,gender:"女"
},
{
name:"小CB",age:23,gender:"男"
},
{
name:"小DB",age:26,gender:"男"
}
]);
/*
db.stus.find()
{ "_id" : ObjectId("5b98c38b907d0b2e0d6fabb3"), "name" : "小A", "age" : 25, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B", "age" : 21, "gender" : "女" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C", "age" : 23, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D", "age" : 26, "gender" : "男" }
*/
/*
mongodb会自动加一个“ObjectId”
*/
/*
----> 自己生成一个
[根据时间戳和机器码,保证每一个都不一样]
> ObjectId()
ObjectId("5b98c497907d0b2e0d6fabb7")
*/
/*
================================================================================================================================
向数据库中查询文档
db.<collection>.find()
db.<collection>.findOne()
*/
db.stus.find();
/* 查询集合中所有符合条件的文档
>
find({字段名:“值”}[,{xx:xx},{xx:xx}可传入多个个])
里面可以传入对象,根据条件查询*/
> db.stus.find({name:"小A"})
{ "_id" : ObjectId("5b98c38b907d0b2e0d6fabb3"), "name" : "小A", "age" : 25, "gender" : "男" }
/*------------------------------------------------------*/
db.stus.findOne();
> db.stus.findOne({gender:"男"})
{
"_id" : ObjectId("5b98c38b907d0b2e0d6fabb3"),
"name" : "小A",
"age" : 25,
"gender" : "男"
}
/*查询总数量*/
db.stus.find([{条件:"xx"},{条件:"xx"}]).count()
4
/*
================================================================================================================================
向数据库中修改文档
db.<collection>.update(查询条件,新对象)
如果需要修改指定的属性,而不是替换需要使用“修改操作符”来完成修改
$set 修改文档中的指定属性
$unset 删除文档中的指定属性
.....
db.collection.updateMany()
- 同时修改多个符合条件的文档
db.collection.updateOne()
- 同时修改一个符合条件的文档
*/
> db.stus.update({name:"小A"},{name:"小AA"})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.stus.find()
{ "_id" : ObjectId("5b98c38b907d0b2e0d6fabb3"), "name" : "小AA" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B", "age" : 21, "gender" : "女" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C", "age" : 23, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D", "age" : 26, "gender" : "男" }
/*
$set
*/
db.stus.update(
{"_id":ObjectId("5b98c38b907d0b2e0d6fabb3")}, /* 匹配*/
{
$set:{ /* $unset */
name:"大A" /*修改的值,可写多个*/
}
/*
,
{
multi:true 我要修改多个
}
*/
}
)
/*
> db.stus.find()
{ "_id" : ObjectId("5b98c38b907d0b2e0d6fabb3"), "name" : "大A" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B", "age" : 21, "gender" : "女" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C", "age" : 23, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D", "age" : 26, "gender" : "男" }
>
*/
/*
================================================================================================================================
向数据库中删除文档
db.<collection>.remove()
db.<collection>.deleteOne()
db.<collection>.deleteMany()
*/
db.stus.remove({"name":"大A"})
> db.stus.remove({"name":"大A"})
WriteResult({ "nRemoved" : 1 })
> db.stus.find()
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B", "age" : 21, "gender" : "女" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C", "age" : 23, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D", "age" : 26, "gender" : "男" }
/*
================================================================================================================================
排序查询
db.<collection>.find({}).sort({条件:1,[条件2:-1]})
- 1升序
- -1降序
*/
> db.stus.find().sort({age:1});
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B", "age" : 21, "gender" : "女" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C", "age" : 23, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D", "age" : 26, "gender" : "男" }
/*-------------------------------------------------------------------------------------------------------------*/
> db.stus.find().sort({gender:1});
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B", "age" : 21, "gender" : "女" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C", "age" : 23, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D", "age" : 26, "gender" : "男" }
/*
================================================================================================================================
投影查询
db.<collection>.find({},{要显示列名:1,_id:0})
- 1显示
- 0不显示
*/
> db.stus.find({},{"name":1})
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D" }
> db.stus.find({},{"name":1,"_id":0})
{ "name" : "小B" }
{ "name" : "小C" }
{ "name" : "小D" }
/*
================================================================================================================================
分页查询
-mongoDB的分页查询是通过limit(),skip(),sort()这三个函数组合进行分页查询的
查询第一页的数据:db.test.find().sort({"age":1}).limit(2);
查询第二页的数据:db.test.find().sort({"age":1}).skip(2).limit(2);
*/