-
1. 進(jìn)入my_test數(shù)據(jù)庫(kù)
use my_test;
show dbs;
顯示當(dāng)前數(shù)據(jù)庫(kù)中的集合
show collections;
-
2. 插入 / 添加 操作
1.插入兩個(gè)值
db.users.insert({
username:"sunwukong"
});
db.users.insert({
username:"zhubajie"
});
2.向名為sunwukong 的文檔,添加一個(gè)address屬性
db.users.update(
{"username":"sunwukong"},
{$set:{
address:"huaguoshan"
}}
)
3.向sunwukong中添加一個(gè)hobby:{cities,movies}
向tangsanzang中添加一個(gè)hobby:{movies}
db.users.update(
{"username":"sunwukong"},
{$set:{
hobby:{cities:["beijing","shanghai","shenzhen"] , movies:["movie1","movie2"]}
}}
)
db.users.update(
{"username":"tangsanzang"},
{$set:{
hobby:{movies:["movie1","movie2"]}
}}
)
4.向數(shù)組中添加一個(gè)小元素$push
db.users.update(
{"username":"tangsanzang"},
{$push:{
"hobby.movies":"SuperMan"
}}
)
-
3. 改變某個(gè)值
使用unset可以刪除元素
1.使用tangsanzang替換zhubajie
db.users.update(
{"username":"zhubajie"},
{$set:{
username:"tangsanzang"
}}
)
-
4. 刪除操作
刪除地址,可以隨便填一個(gè)值
db.users.update(
{username:"sunwukong"},
{$unset:{
address:1}}
)
-
5. 查詢操作
1.查詢user集合中的所有文檔
db.users.find();
2.統(tǒng)計(jì)數(shù)據(jù)庫(kù)user集合中的文檔數(shù)量
db.users.find().count()
3.查詢username為sunwukong的文檔
db.users.find({username:"sunwukong"})
4.查找內(nèi)嵌文檔的屬性
如果需要查詢內(nèi)嵌文檔則可以通過(guò).形式進(jìn)行匹配,
此時(shí)屬性名必須使用引號(hào)
db.users.find({"hobby.movies" : "movie1"});

image.png
-
6. 其他操作
1.向某個(gè)集合中添加 100條數(shù)據(jù)
運(yùn)用數(shù)組直接插入的方法,可以極大降低運(yùn)行時(shí)間,一般可以降到1秒以內(nèi)
var arr = [];
for(var i=1000 ; i<=1100 ; i++){
arr.push({num:i})
}
db.number.insert(arr);
DBQuery.shellBatchSize= 100;
db.number.find()
2.查找特定區(qū)間的文檔
- 查詢number中num為1060的文檔
db.number.find({num:1060});
- 查詢大于1060 的文檔
db.number.find({num:{$gt:1060}});
- 查詢小于1050的文檔
db.number.find({num:{$lt:1050}});
- 大于1050,小于1060
db.number.find({num:{$gt:1050 , $lt:1060}});
顯示前十個(gè)數(shù)據(jù),這里引入limit 和 skip
顯示第10-20;使用分頁(yè) 每頁(yè)顯示10條
公式
skip(( 頁(yè)碼-1 )* 每頁(yè)顯示的條數(shù)).limit (每頁(yè)顯示的條數(shù)));
10-20,從第10個(gè)數(shù)起步,往后排10個(gè)
db.number.find().skip(10).limit(10);
20-30,從第20個(gè)數(shù)起步,往后排15個(gè)
db.number.find().skip(20).limit(15);