摘要:執行時的臨時目錄。在如果沒有開啟異常機后重啟必須執行操作。系統同步刷新磁盤的時間單位為秒默認是秒。這么多參數全面寫在命令行中則容易雜亂而不好管理??蛇x指定封頂集合允許在文件的最大數量。
我的博客
mongod參數說明參數 | 說明 |
---|---|
dbpath | 數據文件存放路徑,每個數據庫會在其中創建一個子目錄,用于防止同一個實例多次運行的 mongod.lock 也保存在此目錄中。 |
logpath | 錯誤日志文件 |
logappend | 錯誤日志采用追加模式,默認是覆寫模式。 |
bind_ip | 對外服務的綁定ip,一般設置為空,及綁定在本機所有可用 ip 上,如有需要可以多帶帶指定。 |
port | 對外服務端口。Web 管理端口在這個 port 的基礎上+1000。 |
fork | 以后臺 Daemon 形式運行服務 |
maxConns | 最大連接數 |
directoryperdb | 每個 db 存放在多帶帶的目錄中,建議設置該參數。與 MySQL 的獨立表空間類似。 |
repairpath | 執行 repair 時的臨時目錄。在如果沒有開啟 journal,異常 down 機后重啟,必須執行 repair 操作。 |
syncdelay | 系統同步刷新磁盤的時間,單位為秒,默認是 60 秒。 |
這么多參數,全面寫在命令行中則容易雜亂而不好管理。因此,mongod 支持將參數寫入到 一個配置文本文件中,然后通過 config 參數來引用此配置文件:
./mongod --config /etc/mongo.cnf數據庫常用命令
# 創建數據庫, 如果有則進入, 如果沒有則創建 use demo_database; # 查看所有db show dbs; # 從指定主機上克隆數據庫 db.cloneDatabase(“127.0.0.1”); # 修復當前db db.repairDatabase(); # 顯示當前db的狀態 db.stats(); # 查看當前db的鏈接機器地址 db.getMongo(); # 刪除當前使用的db db.dropDatabase(); # 查看當前db的版本 db.version(); # 關閉數據庫連接 shutdownServer();集合(Collection)常用命令
集合相對于關系型數據庫中的表。
// 創建一個集合, 創建成功會顯示{“ok”:1} db.createCollection(“account”, {size: 20, capped: 5, max: 100}); // 判斷集合是否為定容量 db.collName.isCapped(); // 查詢集合 db.getCollection("account"); // 獲取當前db下的所有集合 db.getCollectionNames(); // 或者 show collections(); // 顯示當前db所有聚集索引的狀態 db.printCollectionStats();
其中創建集合的語法為:
db.createCollection(name, options)
name為集合的名字,options為參數(可選),指定有關內存大小和索引選項,options有以下幾個選項:
字段 | 類型 | 描述 |
---|---|---|
capped | Boolean | (可選)如果為true,則啟用封頂集合。封頂集合是固定大小的集合,會自動覆蓋最早的條目,當它達到其最大大小。如果指定true,則需要也指定尺寸參數。 |
autoIndexID | Boolean | (可選)如果為true,自動創建索引_id字段的默認值是false。 |
size | Number | (可選)指定最大大小字節封頂集合。如果封頂如果是 true,那么你還需要指定這個字段。 |
max | Number | (可選)指定封頂集合允許在文件的最大數量。 |
# 添加用戶 db.addUser("userName"); db.addUser("userName", "pwd123", true); // 用戶名、密碼、是否只讀 # 數據庫認證、安全模式 db.auth("userName", "123123"); # 查看所有的用戶 show users; # 刪除用戶 db.removeUser("userName");添加、刪除、修改相關
# 添加數據 db.account.save({"name": "xigua", age: "23", "location": "China SH"}); # 修改數據 ab.account.update({"name": "xigua"}, {$set: {"age": 24}}); // 相當于update account set age=24 where name=xigua # 刪除數據 db.account.remove({"name": 22});查詢相關
# 我們先插入一些數據以供查詢 for (var i=1; i<100; i++) db.account.insert({"name": i, "age": i}); # 查詢所有記錄,默認每頁顯示20條記錄 db.account.find(); // account為集合名,相比于關系型數據庫來說,相當于select * from account # 設置查詢時每頁顯示的記錄數 DBQuery.shellBatchSize= 50; // 輸入it 顯示更多 # 過濾name字段相同的數據 db.account.distinct("name"); // 相比于關系型數據庫來說,相當于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中包含數字9的數據 db.account.find({"name": /9/}); # 查詢指定列的數據 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的數據 db.account.find({name: 1, age: 1}); // 相當于select * from account where name=1 and age=1; # 查詢前五條數據 db.account.find().limit(5); // 相當于select top 5 * from account # 查詢20條以后的數據 db.account.find().skip(10); # or db.account.find({$or: [{age: 10}, {age: 20}]}); // 相當于select * from account where age=10 or age=20; # 查詢第一條數據 db.account.findOne(); # 查詢某個結果集的記錄條數 db.account.find().count(); // 相當于select count(*) from account # 查詢所有結果中不包含name的記錄 db.account.find({name: {$exists: false}}); # 查詢所有結果中對2取模為0的數據 db.account.find({num: {$mode: [2, 0]}}); # 查詢結果中num值不等于3的數據 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 數組元素個數 # 對于{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.*/}}); # 查看記錄數 db.table.find().count(); # 從第 3 條記錄開始,返回 5 條記錄(limit 3, 5) db.users.find().skip(3).limit(5);簡單的語句塊操作
# 打印 print("Hello MongoDB!"); # 將一個對象轉換成json tojson(new Object()); tojson(new Object("a")); # 循環添加數據 for (var i=1; i<100; i++) { db.account.insert({"name": i, "age": i}); } # forEach迭代循環 db.users.find().forEach(printjson);其他
# 查詢之前的錯誤信息 db.getPrevError(); # 清楚錯誤信息 db.resetError();
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/18880.html
摘要:安裝全過程環境基本情況我是在電腦下安裝的系統位,這個也是導致我安裝的時候出現異常提示,原因可能是的版本是位的,我應該再找一個位的,但事實上我找不到。 簡述 之前講了一些關于MongoDB的知識,出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計算機的虛擬機的centos系統下安裝MongoDB的經歷,希望感興趣的你們在安裝MongoDB的時候出現問題可以來看看我是怎么安裝的...
摘要:安裝全過程環境基本情況我是在電腦下安裝的系統位,這個也是導致我安裝的時候出現異常提示,原因可能是的版本是位的,我應該再找一個位的,但事實上我找不到。 簡述 之前講了一些關于MongoDB的知識,出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計算機的虛擬機的centos系統下安裝MongoDB的經歷,希望感興趣的你們在安裝MongoDB的時候出現問題可以來看看我是怎么安裝的...
摘要:安裝全過程環境基本情況我是在電腦下安裝的系統位,這個也是導致我安裝的時候出現異常提示,原因可能是的版本是位的,我應該再找一個位的,但事實上我找不到。 簡述 之前講了一些關于MongoDB的知識,出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計算機的虛擬機的centos系統下安裝MongoDB的經歷,希望感興趣的你們在安裝MongoDB的時候出現問題可以來看看我是怎么安裝的...
閱讀 3338·2021-11-22 15:22
閱讀 2862·2021-10-12 10:12
閱讀 2156·2021-08-21 14:10
閱讀 3822·2021-08-19 11:13
閱讀 2841·2019-08-30 15:43
閱讀 3223·2019-08-29 16:52
閱讀 438·2019-08-29 16:41
閱讀 1427·2019-08-29 12:53