海詩網(wǎng) 頭條熱點(diǎn) mongodb指令大全(一些關(guān)于mongodb的理解總結(jié))

mongodb指令大全(一些關(guān)于mongodb的理解總結(jié))

成功啟動mongoDB后,打開命令行窗口,進(jìn)入Mongo,然后就可以對數(shù)據(jù)庫進(jìn)行一些操作了。進(jìn)入help可以看到基本的操作命令,只是MongoDB沒有創(chuàng)建數(shù)據(jù)庫的命令,但是它有一個類似的命令。

mongod . exe-數(shù)據(jù)庫的服務(wù)器端相當(dāng)于mysql的mysqld命令,啟動服務(wù)器端。

mongo . exe——數(shù)據(jù)庫的客戶端,相當(dāng)于mysql的mysql命令,打開管理控制臺。

Mongo是一個交互式的js shell,它提供了一個強(qiáng)大的js環(huán)境,并提供了一個供DBA管理MongoDB和開發(fā)者查詢MongoDB數(shù)據(jù)的接口。

通過mongo shell和MongoDB的交互,查詢和修改MongoDB數(shù)據(jù)庫,管理MongoDB數(shù)據(jù)庫,維護(hù)MongoDB的副本集和碎片簇,是一個非常強(qiáng)大的工具。

成功啟動mongoDB后,打開命令行窗口,進(jìn)入Mongo,然后就可以對數(shù)據(jù)庫進(jìn)行一些操作了。

進(jìn)入help查看基本操作命令:

show DBS:show database list show collections:顯示當(dāng)前數(shù)據(jù)庫中的集合(類似于關(guān)系數(shù)據(jù)庫中的表)show users:顯示用戶。

使用db name:切換當(dāng)前數(shù)據(jù)庫,這與MS-SQL中的意思相同。db.help():顯示數(shù)據(jù)庫操作命令,里面有很多命令。db.foo.help():顯示集合操作命令,命令也很多。

Foo指的是當(dāng)前數(shù)據(jù)庫中一個名為foo的集合,不是真正的命令db.foo.find():對當(dāng)前數(shù)據(jù)庫中的foo集合進(jìn)行數(shù)據(jù)搜索(因?yàn)闆]有條件,

會列出所有數(shù)據(jù))db.foo.find( {a: 1}):搜索當(dāng)前數(shù)據(jù)庫中的foo集合,前提是數(shù)據(jù)中有一個名為A的屬性,A的值為1。

MongoDB沒有創(chuàng)建數(shù)據(jù)庫的命令,但是它有一個類似的命令。

例如,如果您想要創(chuàng)建一個“myTest”數(shù)據(jù)庫,首先運(yùn)行use myTest命令。

然后做一些操作(比如db.createCollection('user ')),這樣就可以創(chuàng)建一個名為“myTest”的數(shù)據(jù)庫。

數(shù)據(jù)庫常用命令

1.幫助查看命令提示符

help

db.help();

db.yourColl.help();

db.youColl.find().help();

rs.help();

2.切換/創(chuàng)建數(shù)據(jù)庫

使用yourDB創(chuàng)建表時,會自動創(chuàng)建當(dāng)前數(shù)據(jù)庫。

3.查詢所有數(shù)據(jù)庫

show dbs;

4.刪除當(dāng)前使用的數(shù)據(jù)庫。

db.dropDatabase();

5.從指定的主機(jī)克隆數(shù)據(jù)庫。

db . clone database(" 127 . 0 . 0 . 1 ");將指定機(jī)器上數(shù)據(jù)庫的數(shù)據(jù)克隆到當(dāng)前數(shù)據(jù)庫。

6.將指定的數(shù)據(jù)庫數(shù)據(jù)從指定的計算機(jī)復(fù)制到數(shù)據(jù)庫。

db.copyDatabase('mydb '' temp '' 127 . 0 . 0 . 1 ');將本機(jī)的mydb數(shù)據(jù)復(fù)制到臨時數(shù)據(jù)庫。

7.修復(fù)當(dāng)前數(shù)據(jù)庫

db.repairDatabase();

8、查看當(dāng)前使用的數(shù)據(jù)庫

db.getName();

db; db和getName方法是一樣的效果,都可以查詢當(dāng)前使用的數(shù)據(jù)庫

9、顯示當(dāng)前db狀態(tài)

db.stats();

10、當(dāng)前db版本

db.version();

11、查看當(dāng)前db的鏈接機(jī)器地址

db.getMongo();

Collection聚集集合

1、創(chuàng)建一個聚集集合(table)

db.createCollection(“collName”, {size: 20, capped: 5, max: 100});

2、得到指定名稱的聚集集合(table)

db.getCollection('account');

3、得到當(dāng)前db的所有聚集集合

db.getCollectionNames();

4、顯示當(dāng)前db所有聚集索引的狀態(tài)

db.printCollectionStats();

用戶相關(guān)

1、添加一個用戶

db.addUser('name');

db.addUser('userName', 'pwd123', true); 添加用戶、設(shè)置密碼、是否只讀

2、數(shù)據(jù)庫認(rèn)證、安全模式

db.auth('userName', '123123');

3、顯示當(dāng)前所有用戶

show users;

4、刪除用戶

db.removeUser('userName');

其他

1、查詢之前的錯誤信息

db.getPrevError();

2、清除錯誤記錄

db.resetError();

查看聚集集合基本信息

1、查看幫助db.yourColl.help();2、查詢當(dāng)前集合的數(shù)據(jù)條數(shù)db.yourColl.count();3、查看數(shù)據(jù)空間大小db.userInfo.dataSize();4、得到當(dāng)前聚集集合所在的db db.userInfo.getDB();5、得到當(dāng)前聚集的狀態(tài)db.userInfo.stats();6、得到聚集集合總大小db.userInfo.totalSize();7、聚集集合儲存空間大小db.userInfo.storageSize();8、Shard版本信息db.userInfo.getShardVersion()9、聚集集合重命名db.userInfo.renameCollection('users'); 將userInfo重命名為users10、刪除當(dāng)前聚集集合db.userInfo.drop();

聚集集合查詢

2、查詢?nèi)サ艉蟮漠?dāng)前聚集集合中的某列的重復(fù)數(shù)據(jù)db.userInfo.distinct('name');會過濾掉name中的相同數(shù)據(jù)相當(dāng)于:select distict name from userInfo;3、查詢age=22的記錄db.userInfo.find({'age': 22});相當(dāng)于: select * from userInfo where age=22;4、查詢age 22的記錄db.userInfo.find({age: {$gt: 22}});相當(dāng)于:select * from userInfo where age 22;5、查詢age 22的記錄db.userInfo.find({age: {$lt: 22}});相當(dāng)于:select * from userInfo where age 22;6、查詢age=25的記錄db.userInfo.find({age: {$gte: 25}});相當(dāng)于:select * from userInfo where age=25;7、查詢age=25的記錄db.userInfo.find({age: {$lte: 25}});8、查詢age=23 并且age=26db.userInfo.find({age: {$gte: 23, $lte: 26}});9、查詢name中包含mongo的數(shù)據(jù)db.userInfo.find({name: /mongo/});//相當(dāng)于%%select * from userInfo where name like ‘%mongo%’;10、查詢name中以mongo開頭的db.userInfo.find({name: /^mongo/});select * from userInfo where name like ‘mongo%’;11、查詢指定列name、age數(shù)據(jù)db.userInfo.find({}, {name: 1, age: 1});相當(dāng)于:select name, age from userInfo;當(dāng)然name也可以用true或false,當(dāng)用ture的情況下河name:1效果一樣,

索引

1、創(chuàng)建索引db.userInfo.ensureIndex({name: 1});db.userInfo.ensureIndex({name: 1, ts: -1});2、查詢當(dāng)前聚集集合所有索引db.userInfo.getIndexes();3、查看總索引記錄大小db.userInfo.totalIndexSize();4、讀取當(dāng)前集合的所有index信息db.users.reIndex();5、刪除指定索引db.users.dropIndex('name_1');6、刪除所有索引索引db.users.dropIndexes();

修改、添加、刪除集合數(shù)據(jù)

根據(jù)添加的數(shù)據(jù)為準(zhǔn)2、修改db.users.update({age: 25}, {$set: {name: 'changeName'}}, false, true);相當(dāng)于:update users set name=‘changeName’ where age=25;db.users.update({name: 'Lisi'}, {$inc: {age: 50}}, false, true);相當(dāng)于:update users set age=age + 50 where name=‘Lisi’;db.users.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true);相當(dāng)于:update users set age=age + 50, name=‘hoho’ where name=‘Lisi’;3、刪除db.users.remove({age: 132});4、查詢修改刪除db.users.findAndModify({ query: {age: {$gte: 25}}, sort: {age: -1}, update: {$set: {name: 'a2'}, $inc: {age: 2}}, remove: true});db.runCommand({ findandmodify : 'users', query: {age: {$gte: 25}}, sort: {age: -1}, update: {$set: {name: 'a2'}, $inc: {age: 2}}, remove: true});

語句塊操作

和直接寫入'Hello World!'的效果是一樣的;2、將一個對象轉(zhuǎn)換成jsontojson(new Object());tojson(new Object('a'));3、循環(huán)添加數(shù)據(jù)for (var i=0; i 30; i++) {. db.users.save({name: 'u_' + i, age: 22 + i, sex: i % 2}); };這樣就循環(huán)添加了30條數(shù)據(jù),

用mongod 啟動數(shù)據(jù)庫進(jìn)程,參數(shù)解釋如下:--dbpath 指定數(shù)據(jù)庫的目錄--port 指定數(shù)據(jù)庫的端口,默認(rèn)是27017--bind_ip 綁定IP--directoryperdb為每個db創(chuàng)建一個獨(dú)立子目錄--logpath指定日志存放目錄--logappend指定日志生成方式(追加/覆蓋)--pidfilepath 指定進(jìn)程文件路徑,

mongod 命令常用參數(shù)

1,常用參數(shù)

mongod 是MongoDB系統(tǒng)的主要守護(hù)進(jìn)程,用于處理數(shù)據(jù)請求,數(shù)據(jù)訪問和執(zhí)行后臺管理操作,必須啟動,才能訪問MongoDB數(shù)據(jù)庫。

在啟動mongod時,常用的參數(shù)是:

--dbpath db_path:存儲MongoDB數(shù)據(jù)文件的目錄

Uses a separate directory to store data for each database. The directories are under the --dbpath directory, and each subdirectory name corresponds to the database name.

--logpath log_path:指定mongod記錄日志的文件

--fork:以后臺deamon形式運(yùn)行服務(wù)

--journal:開始日志功能,通過保存操作日志來降低單機(jī)故障的恢復(fù)時間

--config(或-f)config_file_path:配置文件,用于指定runtime options

--bind_ip ip address:指定對外服務(wù)的綁定IP地址

--port port:對外服務(wù)窗口

--auth:啟用驗(yàn)證,驗(yàn)證用戶權(quán)限控制

--syncdelayvalue:系統(tǒng)刷新disk的時間,單位是second,默認(rèn)是60s

--replSet setname:以副本集方式啟動mongod,副本集的標(biāo)識是setname

2.1 以命令方式啟動,默認(rèn)的dbpath是C:\data\db

mongod --dbpath=C:\data\db

2.2 以配置文檔的方式啟動

將mongod的命令參數(shù)寫入配置文檔,以參數(shù)-f 啟動

mongod -f C:\data\db\mongodb_config.config

2.3 以daemon方式啟動

當(dāng)啟動MongoDB的進(jìn)程關(guān)閉后,MongoDB隨之關(guān)閉,只需要使用--fork參數(shù),就能使MongoDB以后臺守護(hù)進(jìn)程方式啟動。

mongod -fork

3,查看mongod的啟動參數(shù)

db.serverCmdLineOpts()

在啟動mongo shell時,常用的參數(shù)是:

--nodb:阻止mongo在啟動時連接到數(shù)據(jù)庫實(shí)例;

--port port:指定mongo連接到mongod監(jiān)聽的TCP端口,默認(rèn)的端口值是27017;

--host hostname:指定mongod運(yùn)行的server,如果沒有指定該參數(shù),那么mongo嘗試連接運(yùn)行在本地(localhost)的mongod實(shí)例;

db address:指定mongo連接的數(shù)據(jù)庫

--username/-u username 和--password/-p password:指定訪問MongoDB數(shù)據(jù)庫的賬戶和密碼,只有當(dāng)認(rèn)證通過后,用戶才能訪問數(shù)據(jù)庫;

--authenticationDatabase dbname:指定創(chuàng)建User的數(shù)據(jù)庫,在哪個數(shù)據(jù)庫中創(chuàng)建User時,該數(shù)據(jù)庫就是User的Authentication Database;

本文來自網(wǎng)絡(luò),不代表海詩網(wǎng)立場,轉(zhuǎn)載請注明出處:http://x91880.com/n/138889.html
      

宇宙生命之謎(宇宙生命之謎作者簡介)

退燒藥有哪幾種(退燒藥有哪幾種獸藥)

發(fā)表回復(fù)
聯(lián)系我們
聯(lián)系我們

在線咨詢: QQ交談

郵箱: 3587015498@qq.com

工作時間:周一至周五,9:00-17:30,節(jié)假日休息

關(guān)注微信
微信掃一掃關(guān)注我們
微信掃一掃關(guān)注我們
關(guān)注微博
返回頂部