成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

MongoDB命令

jiekechoo / 2151人閱讀

摘要:執(zhí)行時的臨時目錄。在如果沒有開啟異常機后重啟必須執(zhí)行操作。系統(tǒng)同步刷新磁盤的時間單位為秒默認是秒。這么多參數(shù)全面寫在命令行中則容易雜亂而不好管理??蛇x指定封頂集合允許在文件的最大數(shù)量。

我的博客

mongod參數(shù)說明
參數(shù) 說明
dbpath 數(shù)據(jù)文件存放路徑,每個數(shù)據(jù)庫會在其中創(chuàng)建一個子目錄,用于防止同一個實例多次運行的 mongod.lock 也保存在此目錄中。
logpath 錯誤日志文件
logappend 錯誤日志采用追加模式,默認是覆寫模式。
bind_ip 對外服務(wù)的綁定ip,一般設(shè)置為空,及綁定在本機所有可用 ip 上,如有需要可以多帶帶指定。
port 對外服務(wù)端口。Web 管理端口在這個 port 的基礎(chǔ)上+1000。
fork 以后臺 Daemon 形式運行服務(wù)
maxConns 最大連接數(shù)
directoryperdb 每個 db 存放在多帶帶的目錄中,建議設(shè)置該參數(shù)。與 MySQL 的獨立表空間類似。
repairpath 執(zhí)行 repair 時的臨時目錄。在如果沒有開啟 journal,異常 down 機后重啟,必須執(zhí)行 repair 操作。
syncdelay 系統(tǒng)同步刷新磁盤的時間,單位為秒,默認是 60 秒。

這么多參數(shù),全面寫在命令行中則容易雜亂而不好管理。因此,mongod 支持將參數(shù)寫入到 一個配置文本文件中,然后通過 config 參數(shù)來引用此配置文件:

./mongod --config /etc/mongo.cnf
數(shù)據(jù)庫常用命令
# 創(chuàng)建數(shù)據(jù)庫, 如果有則進入, 如果沒有則創(chuàng)建
use demo_database;

# 查看所有db
show dbs;

# 從指定主機上克隆數(shù)據(jù)庫
db.cloneDatabase(“127.0.0.1”);

# 修復(fù)當前db
db.repairDatabase();

# 顯示當前db的狀態(tài)
db.stats();

# 查看當前db的鏈接機器地址
db.getMongo();

# 刪除當前使用的db
db.dropDatabase();

# 查看當前db的版本
db.version();

# 關(guān)閉數(shù)據(jù)庫連接
shutdownServer();
集合(Collection)常用命令

集合相對于關(guān)系型數(shù)據(jù)庫中的表。

// 創(chuàng)建一個集合, 創(chuàng)建成功會顯示{“ok”:1}
db.createCollection(“account”, {size: 20, capped: 5, max: 100});

// 判斷集合是否為定容量
db.collName.isCapped();

// 查詢集合
db.getCollection("account");

// 獲取當前db下的所有集合
db.getCollectionNames();
// 或者
show collections();

// 顯示當前db所有聚集索引的狀態(tài)
db.printCollectionStats();

其中創(chuàng)建集合的語法為:

db.createCollection(name, options)

name為集合的名字,options為參數(shù)(可選),指定有關(guān)內(nèi)存大小和索引選項,options有以下幾個選項:

字段 類型 描述
capped Boolean (可選)如果為true,則啟用封頂集合。封頂集合是固定大小的集合,會自動覆蓋最早的條目,當它達到其最大大小。如果指定true,則需要也指定尺寸參數(shù)。
autoIndexID Boolean (可選)如果為true,自動創(chuàng)建索引_id字段的默認值是false。
size Number (可選)指定最大大小字節(jié)封頂集合。如果封頂如果是 true,那么你還需要指定這個字段。
max Number (可選)指定封頂集合允許在文件的最大數(shù)量。
用戶相關(guān)的命令
# 添加用戶
db.addUser("userName");
db.addUser("userName", "pwd123", true); // 用戶名、密碼、是否只讀

# 數(shù)據(jù)庫認證、安全模式
db.auth("userName", "123123");

# 查看所有的用戶
show users;

# 刪除用戶
db.removeUser("userName");
添加、刪除、修改相關(guān)
# 添加數(shù)據(jù)
db.account.save({"name": "xigua", age: "23", "location": "China SH"});

# 修改數(shù)據(jù)
ab.account.update({"name": "xigua"}, {$set: {"age": 24}}); // 相當于update account set age=24 where name=xigua

# 刪除數(shù)據(jù)
db.account.remove({"name": 22});
查詢相關(guān)
# 我們先插入一些數(shù)據(jù)以供查詢
for (var i=1; i<100; i++) db.account.insert({"name": i, "age": i});

# 查詢所有記錄,默認每頁顯示20條記錄
db.account.find(); // account為集合名,相比于關(guān)系型數(shù)據(jù)庫來說,相當于select * from account

# 設(shè)置查詢時每頁顯示的記錄數(shù)
DBQuery.shellBatchSize= 50; // 輸入it 顯示更多

# 過濾name字段相同的數(shù)據(jù)
db.account.distinct("name"); // 相比于關(guān)系型數(shù)據(jù)庫來說,相當于select distinct name form account

# 查詢name=88的記錄
db.account.find({"name": 88}); // 相當于select * from account where name = 88

# 查詢name>88的記錄
db.account.find({"name": {$gt: 22}}); // 相當于select * from account where name > 88

# 查詢name<88的記錄
db.account.find({"name": {$lt: 22}}); // 相當于select * from account where name < 88

# 大于 $gt
# 小于 $lt
# 大于等于 $gte
# 小于等于 $lte

# 查詢name中包含數(shù)字9的數(shù)據(jù)
db.account.find({"name": /9/});

# 查詢指定列的數(shù)據(jù)
db.account.find({}, {name: 1, age: 1}); // 相當于select name, age from account 

# 按照name升序排序
db.account.find().sort({name: 1});

# 按照name降序排序
db.account.find().sort({name: -1});

# 查詢name = 1, age = 1的數(shù)據(jù)
db.account.find({name: 1, age: 1}); // 相當于select * from account where name=1 and age=1;

# 查詢前五條數(shù)據(jù)
db.account.find().limit(5); // 相當于select top 5 * from account

# 查詢20條以后的數(shù)據(jù)
db.account.find().skip(10);

# or
db.account.find({$or: [{age: 10}, {age: 20}]}); // 相當于select * from account where age=10 or age=20;

# 查詢第一條數(shù)據(jù)
db.account.findOne();

# 查詢某個結(jié)果集的記錄條數(shù)
db.account.find().count(); // 相當于select count(*) from account

# 查詢所有結(jié)果中不包含name的記錄
db.account.find({name: {$exists: false}});

# 查詢所有結(jié)果中對2取模為0的數(shù)據(jù)
db.account.find({num: {$mode: [2, 0]}});

# 查詢結(jié)果中num值不等于3的數(shù)據(jù)
db.account.find({num: {$ne: 3}})

# 包含$in
db.table.find({num: {$in: [1, 3, 5]}})

# 不包含$nin
db.table.find({num: {$nin: [1, 3, 5]}})

# $size 數(shù)組元素個數(shù)
# 對于{name: "David", age: 26, favorite_number: [ 6, 7, 9 ] }記錄 匹配 db.users.find({favorite_number: {$size: 3}});
# 不匹配 db.users.find({favorite_number: {$size: 2}});

# 正則匹配
db.account.find({name: {$not: /^T.*/}});

# 查看記錄數(shù)
db.table.find().count();

# 從第 3 條記錄開始,返回 5 條記錄(limit 3, 5)
db.users.find().skip(3).limit(5);
簡單的語句塊操作
# 打印
print("Hello MongoDB!");

# 將一個對象轉(zhuǎn)換成json
tojson(new Object());
tojson(new Object("a"));

# 循環(huán)添加數(shù)據(jù)
for (var i=1; i<100; i++) {
    db.account.insert({"name": i, "age": i});
}

# forEach迭代循環(huán)
db.users.find().forEach(printjson);
其他
# 查詢之前的錯誤信息
db.getPrevError();

# 清楚錯誤信息
db.resetError();

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/18880.html

相關(guān)文章

  • 聊聊MongoDB - MongoDB的簡單安裝

    摘要:安裝全過程環(huán)境基本情況我是在電腦下安裝的系統(tǒng)位,這個也是導(dǎo)致我安裝的時候出現(xiàn)異常提示,原因可能是的版本是位的,我應(yīng)該再找一個位的,但事實上我找不到。 簡述 之前講了一些關(guān)于MongoDB的知識,出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計算機的虛擬機的centos系統(tǒng)下安裝MongoDB的經(jīng)歷,希望感興趣的你們在安裝MongoDB的時候出現(xiàn)問題可以來看看我是怎么安裝的...

    notebin 評論0 收藏0
  • 聊聊MongoDB - MongoDB的簡單安裝

    摘要:安裝全過程環(huán)境基本情況我是在電腦下安裝的系統(tǒng)位,這個也是導(dǎo)致我安裝的時候出現(xiàn)異常提示,原因可能是的版本是位的,我應(yīng)該再找一個位的,但事實上我找不到。 簡述 之前講了一些關(guān)于MongoDB的知識,出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計算機的虛擬機的centos系統(tǒng)下安裝MongoDB的經(jīng)歷,希望感興趣的你們在安裝MongoDB的時候出現(xiàn)問題可以來看看我是怎么安裝的...

    whatsns 評論0 收藏0
  • 聊聊MongoDB - MongoDB的簡單安裝

    摘要:安裝全過程環(huán)境基本情況我是在電腦下安裝的系統(tǒng)位,這個也是導(dǎo)致我安裝的時候出現(xiàn)異常提示,原因可能是的版本是位的,我應(yīng)該再找一個位的,但事實上我找不到。 簡述 之前講了一些關(guān)于MongoDB的知識,出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計算機的虛擬機的centos系統(tǒng)下安裝MongoDB的經(jīng)歷,希望感興趣的你們在安裝MongoDB的時候出現(xiàn)問題可以來看看我是怎么安裝的...

    diabloneo 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<