docker 安裝mongodb:
docker 進入mongodb:docker exec -it mongodb /bin/bash
一、基本指令:
1.顯示當前的所有資料庫
show dbs
show databases
2.進入到指定的資料庫中
use 資料庫名
資料庫不存在時,在插入資料是建立;
3.檢視當前所處的資料庫
db4.顯示資料庫中所有的集合
show collections
刪除集合
db.collection.drop()
刪除資料庫
db.dropdatabase()
二、文件格式:
1.自動生成id
2.指定id
3.復合文件
,,],dept:}
三、插入操作:可插入乙個或多個文件
collection:集合名稱
db.collection.insert(), db.collection.insert([obj,obj])
1.1 向集合中插入乙個或多個文件;
//插入單條資料
db.cjy.insert()
//插入多條資料
db.cjy.insert([,])
1.2 當我們向集合中插入文件時,如果沒有給文件指定id屬性,則資料庫會自動為文件新增id 該屬性用來作為文件的唯一標識根據objectid()函式生成;
//自定義id
db.cjy.insert()
//檢視效果
db.cjy.find(); //下面是查詢結果集
1.3 _id 可以自己指定,如果指定了資料庫就不會在新增了,但是也必須確保它的唯一性;(效果如上1.2)
db.collection.insertone(obj)
插入乙個文件物件
db.cjy.insertone()
3. db.collection.insertmany([obj,obj])
插入多個文件物件
db.cjy.insertmany([,]);
四、查詢操作
db.collection.find()
1.1 find()用來查詢集合中所有符合條件的文件,返回的是乙個陣列
db.cjy.find();
1.2 find()可以接收乙個物件作為條件引數,相當於sql中的where後的條件
find({}) 表示查詢集合中所有的文件
db.cjy.find({});
find 查詢屬性是指定值的文件
db.cjy.find();
2. db.collection.findone()
用來查詢集合中符合條件的第乙個文件,findone()返回的是乙個文件物件
db.cjy.findone();
db.cjy.findone({});
db.cjy.findone();
3.查詢所有結果的數量
db.collection.find().count()
db.collection.find({}).count()
db.collection.find().length()
db.collection.find({}).length()
注意:db.collection.find(屬性:值).length(),不會按照條件來查詢統計量的,只會統計所有的資料量
練習:建立資料庫my_test:
//1.進入my_test資料庫
use my_test
//2.向資料庫的user集合中插入乙個文件
db.users.insert();
//3.查詢user集合中的文件
db.users.find();
//4.向資料庫的user集合中插入乙個文件
db.users.insert();
//5.查詢資料庫user集合中的文件
db.users.find();
//6.統計資料庫user集合中的文件數量
db.users.find().count();
//7.查詢資料庫user集合中username為sunwukong的文件
db.users.find();
//8.向資料庫user集合中的username為sunwukong的文件,新增乙個address屬性,屬性值為huaguoshan
db.users.update(,});
//9.使用 替換 username 為 zhubajie的文件
db.users.replaceone(,);
//10.刪除username為sunwukong的文件的address屬性
db.users.update(,});
//11.向username為sunwukong的文件中,新增乙個hobby:
//mongodb的文件的屬性值也可以是乙個文件,當乙個文件的屬性值是乙個文件時,我們稱這個文件叫做 內嵌文件db.users.update(,}});
db.users.find();
//12.向username為tangseng的文件中,新增乙個hobby:
db.users.update(,}})
//13.查詢喜歡電影hero的文件
//mongodb支援直接通過內嵌文件的屬性進行查詢,如果要查詢內嵌文件則可以通過.的形式來匹配
//如果要通過內嵌文件來對文件進行查詢,此時屬性名必須使用引號
db.users.find();
//14.向tangseng中新增乙個新的電影interstellar
//$push 用於向陣列中新增乙個新的元素
//$addtoset 向陣列中新增乙個新元素 , 如果陣列中已經存在了該元素,則不會新增db.users.update(,});
db.users.update(,});
db.users.find();//15.刪除喜歡beijing的使用者db.users.remove();
//16.刪除user集合
db.users.remove({});
db.users.drop();
show dbs;
//17.向numbers中插入20000條資料 7.2s
for(var i=1 ; i<=20000 ; i++));
db.numbers.find()
db.numbers.remove({});
//注意下面程式需要選擇後 按f9執行游標所選中的區域,f6是不執行的
var arr = ;
for(var i=1 ; i<=20000 ; i++));
db.numbers.insert(arr);
//18.查詢numbers中num為500的文件
db.numbers.find()
//19.查詢numbers中num大於5000的文件
db.numbers.find(});
db.numbers.find(});
//20.查詢numbers中num小於30的文件
db.numbers.find(});
//21.查詢numbers中num大於40小於50的文件
db.numbers.find(});
//22.查詢numbers中num大於19996的文件
db.numbers.find(});
//23.檢視numbers集合中的前10條資料
db.numbers.find(});
//limit()設定顯示資料的上限
db.numbers.find().limit(10);
//在開發時,我們絕對不會執行不帶條件的查詢
db.numbers.find();
//24.檢視numbers集合中的第11條到20條資料
分頁 每頁顯示10條
1-10 0
11-20 10
21-30 20
skip((頁碼-1) * 每頁顯示的條數).limit(每頁顯示的條數);
skip()用於跳過指定數量的資料
mongodb會自動調整skip和limit的位置
db.numbers.find().skip(10).limit(10);
//25.檢視numbers集合中的第21條到30條資料
db.numbers.find().skip(20).limit(10);
db.numbers.find().limit(10).skip(10);
//26.將dept和emp集合匯入到資料庫中
db.dept.find()
db.emp.find()
//27.查詢工資小於2000的員工
db.emp.find(});
//28.查詢工資在1000-2000之間的員工
db.emp.find(});
//29.查詢工資小於1000或大於2500的員工
db.emp.find(} , }]});
//30.查詢財務部的所有員工
//(depno)
var depno = db.dept.findone().deptno;
db.emp.find();
//31.查詢銷售部的所有員工
var depno = db.dept.findone().deptno;
db.emp.find();
//32.查詢所有mgr為7698的所有員工
db.emp.find()
//33.為所有薪資低於1000的員工增加工資400元
db.emp.updatemany(} , });
db.emp.find()
mongodb使用整理
一定要安裝在主目錄下,要是英文名字 安裝完以後需要配置環境變數 安裝的時候,直接下一步下一步即可 開啟資料庫 新建乙個資料檔案名字一定要是英文 開啟資料庫mongod dbpath新建的數 使用資料庫 使用資料庫的時候,需要重新開啟乙個命行,並且 之前的開啟資料庫的命令列不能關首先執行mongo 執...
mongoDB 基本命令整理
1 mongodb官網 www.mongodb.org 2 mongodb國內官方 www.monging.com 4 mongodb的github 5 mongodb的jira 6 兩個google groups mongdb user與mongo cn 為什麼選擇mongodb 1 無資料結構的...
mongoDB 簡單操作
一 新增資料庫 usedatabase name 例如 use tom database 當tom database不存在時會新建資料庫tom databse,當tom database存在時切換到tom database資料庫。當前資料庫的名稱可以通過db命令檢視。說明 執行上一語句時,資料庫並沒...