mongodb操作整理

2021-10-10 11:47:48 字數 4789 閱讀 5784

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命令檢視。說明 執行上一語句時,資料庫並沒...