摘要:再次查看刪除數據庫刪除當前所在的數據庫創建集合創建默認的集合創建帶有參數的集合創建集合可以使用下面的方法參數配置如下字段類型描述布爾如果為,則創建固定集合。布爾可選如為,自動在字段創建索引。數值可選為固定集合指定一個最大值以字節計。
以windows服務啟動mongodb
// 創建目錄 d: data/ conf -->配置文件目錄 mongod.conf -->配置文件 db -->數據庫目錄 log -->日志文件目錄 mongodb.log -->日志記錄文件
首先以管理員身份打開DOs窗口
// 執行如下命令 C:WINDOWSsystem32>mongod --dbpath "d:datadb" --logpath "d:datalogmongodb.log" --serviceName "mongodb" --serviceDisplayName "mongodb" --install // 當出現一下提示表示已經ok 2018-03-29T12:59:58.707+0800 I CONTROL [main] log file "d:datalogmongodb.log" exists; moved to "d:datalogmongodb.log.2018-03-29T04-59-58".
啟動一個net 服務
C:WINDOWSsystem32> net start mongodb mongodb 服務正在啟動 . mongodb 服務已經啟動成功。 // 如果想停止 net stop mongodb
連接數據庫
C:WINDOWSsystem32>mongo MongoDB shell version v3.4.10 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.10 Server has startup warnings: 2018-03-29T13:00:05.275+0800 I CONTROL [initandlisten] 2018-03-29T13:00:05.275+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2018-03-29T13:00:05.275+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2018-03-29T13:00:05.276+0800 I CONTROL [initandlisten] > // 這樣就連接成功了
下面我們開始進入正題了
創建數據庫
> show dbs; admin 0.000GB local 0.000GB > // 默認是由兩個,這兩個數據庫不要輕舉妄動哦
創建和刪除數據庫
創建數據庫
// 創建myfirstdb數據庫 > use myfirstdb switched to db myfirstdb // 查看當前所在的數據庫 > db myfirstdb // 注意 : 我們剛創建的數據庫 mongo 并不在數據庫的列表中, 要顯示它,我們需要向 mongo 數據庫插入一些數據。 > db.mytest1.insert({"name":"test"}); WriteResult({ "nInserted" : 1 }) // 再次查看 > show dbs admin 0.000GB local 0.000GB myfirstdb 0.000GB
刪除數據庫
// 刪除當前所在的數據庫 > db.dropDatabase() { "dropped" : "myfirstdb", "ok" : 1 } > show dbs admin 0.000GB local 0.000GB
創建集合
// 創建默認的集合 > use myfirst switched to db myfirst > db.createCollection("ctest"); { "ok" : 1 } > show collections ctest // 創建帶有參數的集合 >db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } ) { "ok" : 1 } > // 創建集合可以使用下面的方法 db.createCollection(name, options)
options 參數配置如下
字段 | 類型 | 描述 |
---|---|---|
capped | 布爾 | 如果為 true,則創建固定集合。固定集合是指有著固定大小的集合,當達到最大值時,它會自動覆蓋最早的文檔。當該值為 true 時,必須指定 size 參數。 |
autoIndexID | 布爾 | (可選)如為 true,自動在 _id 字段創建索引。默認為 false。 |
size | 數值 | (可選)為固定集合指定一個最大值(以字節計)。如果capped為true,那么必須指定該值 |
max | 數值 | 可選)指定固定集合中包含文檔的最大數量。 |
刪除集合
> db mytest > db.mytest.insert({"name":"test"}); WriteResult({ "nInserted" : 1 }) // 這樣我們就有了一個mytest集合了 > db.mytest1.insert({"name":"sss"}); WriteResult({ "nInserted" : 1 }) // 查看所有集合 > show collections mytest mytest1 // 刪除指定的集合 > db.mytest.drop() true // 如果是刪除成功,返回true,否則是false > show collections mytest1
插入文檔
文檔的數據結構和JSON基本一樣。
所有存儲在集合中的數據都是BSON格式。
MongoDB 使用 insert() 或 save() 方法向集合中插入文檔
insert
> db.col.insert({title: "MongoDB 教程", ... description: "MongoDB 是一個 Nosql 數據庫", ... by: "菜鳥教程", ... url: "http://www.runoob.com", ... tags: ["mongodb", "database", "NoSQL"], ... likes: 100 ... }); WriteResult({ "nInserted" : 1 }) // 以上實例中 col 是我們的集合名,如果該集合不在該數據庫中, MongoDB 會自動創建該集合并插入文檔。 // 查看一下 > db.col.find(); { "_id" : ObjectId("5abccb518777294f765db58a"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 數據庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } // 也可以是 > document=({title: "MongoDB 教程", ... description: "MongoDB 是一個 Nosql 數據庫", ... by: "菜鳥教程", ... url: "http://www.runoob.com", ... tags: ["mongodb", "database", "NoSQL"], ... likes: 100 ... }); { "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 數據庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } > db.col.insert(document) WriteResult({ "nInserted" : 1 }) >
save
// save 方法其實和insert類似的, db.col.save(document) 。如果不指定 _id 那么跟insert 沒有什么差別,如果指定了_id 那么將會更新該條數據。
如果想多條插入:
更新數據
mongodb 更新數據通過 update 和 save
update()
// 語法格式 db.collection.update(, , { upsert: , multi: , writeConcern: } ) * query 是查詢條件 * update 要更新的內容 * upsert 可選:如果不存在update的記錄,是否插入objNew,true為插入,默認是false,不插入 * multi 可選:默認是false ,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新。 * writeConcern 拋出異常,可選
// 實例 > db.col.update({"title":"MongoDB 教程"},{$set:{"by":"zjj"}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.col.find().pretty() }) { "_id" : ObjectId("5abccb518777294f765db58a"), "title" : "我是修改了的title", "description" : "MongoDB 是一個 Nosql 數據庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } { "_id" : ObjectId("5abccbc48777294f765db58b"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 數據庫", "by" : "zjj", //這里被修改了,且只改了一處 "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } { "_id" : ObjectId("5abccf818777294f765db58c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 數據庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } > // 如果想要更新不只是一處 >db.col.update({"title":"MongoDB 教程"},{$set:{"title":"MongoDB"}},{multi:true})
save()
save是通過傳入新的document來更改的
>db.col.save({ "_id" : ObjectId("56064f89ade2f21f36b03136"), // 回更改id為該值的數據 "title" : "MongoDB", "description" : "MongoDB 是一個 Nosql 數據庫", "by" : "Runoob", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 })
其他的實例
// 只更新第一條記錄: db.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } ); // 全部更新: db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true ); // 只添加第一條: db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false ); 全部添加加進去: db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true ); // 全部更新: db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true ); // 只更新第一條記錄: db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );
移除文檔
MongoDB remove()函數是用來移除集合中的數據。
// 格式 db.collection.remove(, { justOne: , writeConcern: } ) * query :(可選)刪除的文檔的條件。 * justOne : (可選)如果設為 true 或 1,則只刪除一個文檔。 * writeConcern :(可選)拋出異常的級別。 //默認是刪除全部了 > db.col.remove({"title":"MongoDB 教程"})) WriteResult({ "nRemoved" : 2 }) // 如果只想刪除匹配的第一條數據 > db.col.remove({"title":"MongoDB 教程"}, 1)) // 如果想要刪除全部的 > db.col.remove({}); WriteResult({ "nRemoved" : 1 })
未完待續哦~~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19221.html
插入文檔 mongodb 查詢使用 find() 方法。 db.collection.find(query, projection) * query 可選,使用查詢操作符指定查詢條件 * projection 可選,使用投影操作符指定返回的鍵 // 如果想以易讀的方式讀出,使用 `pretty()` db.col.find().pretty() // 除了find() 之外...
摘要:安裝安裝中遇到的問題首先是更新的問題卡在更新界面不動了很久沒用就會出現這種問題禁止更新然后安裝就好了首先是更新的問題卡在更新界面不動了很久沒用就會出現這種問題禁止更新然后安裝就好了啟動命令是啟動報錯主要就是沒找到這個文件夾新建一個文件夾然后 安裝 Mac 安裝中遇到的問題 首先是Homebrew更新的問題,卡在更新界面不動了(很久沒用homebrew就會出現這種問題) 禁止...
摘要:安裝安裝中遇到的問題首先是更新的問題卡在更新界面不動了很久沒用就會出現這種問題禁止更新然后安裝就好了首先是更新的問題卡在更新界面不動了很久沒用就會出現這種問題禁止更新然后安裝就好了啟動命令是啟動報錯主要就是沒找到這個文件夾新建一個文件夾然后 安裝 Mac 安裝中遇到的問題 首先是Homebrew更新的問題,卡在更新界面不動了(很久沒用homebrew就會出現這種問題) 禁止...
摘要:基本介紹這是一個基本的環境搭建不同的操作系統可以選擇不同的安裝方式如果不需要太多的安裝步驟就直接在官網下載最新版安裝包進行安裝即可環境配置必須安裝的軟件更改源與更新系統首先備份下載的源配置文件運行生成緩存更新系統安裝使用安裝命 基本介紹 這是一個基本的Node.js環境搭建,不同的操作系統可以選擇不同的安裝方式 如果不需要太多的安裝步驟,就直接在Node.js官網下載最新版安裝包進行...
閱讀 3275·2021-09-30 09:47
閱讀 2290·2021-09-10 10:51
閱讀 1889·2021-09-08 09:36
閱讀 2926·2019-08-30 12:56
閱讀 3027·2019-08-30 11:16
閱讀 2622·2019-08-29 16:40
閱讀 2994·2019-08-29 15:25
閱讀 1632·2019-08-29 11:02