摘要:再次查看刪除數(shù)據(jù)庫刪除當(dāng)前所在的數(shù)據(jù)庫創(chuàng)建集合創(chuàng)建默認(rèn)的集合創(chuàng)建帶有參數(shù)的集合創(chuàng)建集合可以使用下面的方法參數(shù)配置如下字段類型描述布爾如果為,則創(chuàng)建固定集合。布爾可選如為,自動(dòng)在字段創(chuàng)建索引。數(shù)值可選為固定集合指定一個(gè)最大值以字節(jié)計(jì)。
以windows服務(wù)啟動(dòng)mongodb
// 創(chuàng)建目錄 d: data/ conf -->配置文件目錄 mongod.conf -->配置文件 db -->數(shù)據(jù)庫目錄 log -->日志文件目錄 mongodb.log -->日志記錄文件
首先以管理員身份打開DOs窗口
// 執(zhí)行如下命令 C:WINDOWSsystem32>mongod --dbpath "d:datadb" --logpath "d:datalogmongodb.log" --serviceName "mongodb" --serviceDisplayName "mongodb" --install // 當(dāng)出現(xiàn)一下提示表示已經(jīng)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".
啟動(dòng)一個(gè)net 服務(wù)
C:WINDOWSsystem32> net start mongodb mongodb 服務(wù)正在啟動(dòng) . mongodb 服務(wù)已經(jīng)啟動(dòng)成功。 // 如果想停止 net stop mongodb
連接數(shù)據(jù)庫
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] > // 這樣就連接成功了
下面我們開始進(jìn)入正題了
創(chuàng)建數(shù)據(jù)庫
> show dbs; admin 0.000GB local 0.000GB > // 默認(rèn)是由兩個(gè),這兩個(gè)數(shù)據(jù)庫不要輕舉妄動(dòng)哦
創(chuàng)建和刪除數(shù)據(jù)庫
創(chuàng)建數(shù)據(jù)庫
// 創(chuàng)建myfirstdb數(shù)據(jù)庫 > use myfirstdb switched to db myfirstdb // 查看當(dāng)前所在的數(shù)據(jù)庫 > db myfirstdb // 注意 : 我們剛創(chuàng)建的數(shù)據(jù)庫 mongo 并不在數(shù)據(jù)庫的列表中, 要顯示它,我們需要向 mongo 數(shù)據(jù)庫插入一些數(shù)據(jù)。 > db.mytest1.insert({"name":"test"}); WriteResult({ "nInserted" : 1 }) // 再次查看 > show dbs admin 0.000GB local 0.000GB myfirstdb 0.000GB
刪除數(shù)據(jù)庫
// 刪除當(dāng)前所在的數(shù)據(jù)庫 > db.dropDatabase() { "dropped" : "myfirstdb", "ok" : 1 } > show dbs admin 0.000GB local 0.000GB
創(chuàng)建集合
// 創(chuàng)建默認(rèn)的集合 > use myfirst switched to db myfirst > db.createCollection("ctest"); { "ok" : 1 } > show collections ctest // 創(chuàng)建帶有參數(shù)的集合 >db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } ) { "ok" : 1 } > // 創(chuàng)建集合可以使用下面的方法 db.createCollection(name, options)
options 參數(shù)配置如下
字段 | 類型 | 描述 |
---|---|---|
capped | 布爾 | 如果為 true,則創(chuàng)建固定集合。固定集合是指有著固定大小的集合,當(dāng)達(dá)到最大值時(shí),它會(huì)自動(dòng)覆蓋最早的文檔。當(dāng)該值為 true 時(shí),必須指定 size 參數(shù)。 |
autoIndexID | 布爾 | (可選)如為 true,自動(dòng)在 _id 字段創(chuàng)建索引。默認(rèn)為 false。 |
size | 數(shù)值 | (可選)為固定集合指定一個(gè)最大值(以字節(jié)計(jì))。如果capped為true,那么必須指定該值 |
max | 數(shù)值 | 可選)指定固定集合中包含文檔的最大數(shù)量。 |
刪除集合
> db mytest > db.mytest.insert({"name":"test"}); WriteResult({ "nInserted" : 1 }) // 這樣我們就有了一個(gè)mytest集合了 > db.mytest1.insert({"name":"sss"}); WriteResult({ "nInserted" : 1 }) // 查看所有集合 > show collections mytest mytest1 // 刪除指定的集合 > db.mytest.drop() true // 如果是刪除成功,返回true,否則是false > show collections mytest1
插入文檔
文檔的數(shù)據(jù)結(jié)構(gòu)和JSON基本一樣。
所有存儲(chǔ)在集合中的數(shù)據(jù)都是BSON格式。
MongoDB 使用 insert() 或 save() 方法向集合中插入文檔
insert
> db.col.insert({title: "MongoDB 教程", ... description: "MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫", ... by: "菜鳥教程", ... url: "http://www.runoob.com", ... tags: ["mongodb", "database", "NoSQL"], ... likes: 100 ... }); WriteResult({ "nInserted" : 1 }) // 以上實(shí)例中 col 是我們的集合名,如果該集合不在該數(shù)據(jù)庫中, MongoDB 會(huì)自動(dòng)創(chuàng)建該集合并插入文檔。 // 查看一下 > db.col.find(); { "_id" : ObjectId("5abccb518777294f765db58a"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } // 也可以是 > document=({title: "MongoDB 教程", ... description: "MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫", ... by: "菜鳥教程", ... url: "http://www.runoob.com", ... tags: ["mongodb", "database", "NoSQL"], ... likes: 100 ... }); { "title" : "MongoDB 教程", "description" : "MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } > db.col.insert(document) WriteResult({ "nInserted" : 1 }) >
save
// save 方法其實(shí)和insert類似的, db.col.save(document) 。如果不指定 _id 那么跟insert 沒有什么差別,如果指定了_id 那么將會(huì)更新該條數(shù)據(jù)。
如果想多條插入:
更新數(shù)據(jù)
mongodb 更新數(shù)據(jù)通過 update 和 save
update()
// 語法格式 db.collection.update(, , { upsert: , multi: , writeConcern: } ) * query 是查詢條件 * update 要更新的內(nèi)容 * upsert 可選:如果不存在update的記錄,是否插入objNew,true為插入,默認(rèn)是false,不插入 * multi 可選:默認(rèn)是false ,只更新找到的第一條記錄,如果這個(gè)參數(shù)為true,就把按條件查出來多條記錄全部更新。 * writeConcern 拋出異常,可選
// 實(shí)例 > 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 是一個(gè) Nosql 數(shù)據(jù)庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } { "_id" : ObjectId("5abccbc48777294f765db58b"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫", "by" : "zjj", //這里被修改了,且只改了一處 "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } { "_id" : ObjectId("5abccf818777294f765db58c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫", "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為該值的數(shù)據(jù) "title" : "MongoDB", "description" : "MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫", "by" : "Runoob", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 })
其他的實(shí)例
// 只更新第一條記錄: 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 ); 全部添加加進(jìn)去: 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()函數(shù)是用來移除集合中的數(shù)據(jù)。
// 格式 db.collection.remove(, { justOne: , writeConcern: } ) * query :(可選)刪除的文檔的條件。 * justOne : (可選)如果設(shè)為 true 或 1,則只刪除一個(gè)文檔。 * writeConcern :(可選)拋出異常的級(jí)別。 //默認(rèn)是刪除全部了 > db.col.remove({"title":"MongoDB 教程"})) WriteResult({ "nRemoved" : 2 }) // 如果只想刪除匹配的第一條數(shù)據(jù) > db.col.remove({"title":"MongoDB 教程"}, 1)) // 如果想要?jiǎng)h除全部的 > db.col.remove({}); WriteResult({ "nRemoved" : 1 })
未完待續(xù)哦~~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/19221.html
插入文檔 mongodb 查詢使用 find() 方法。 db.collection.find(query, projection) * query 可選,使用查詢操作符指定查詢條件 * projection 可選,使用投影操作符指定返回的鍵 // 如果想以易讀的方式讀出,使用 `pretty()` db.col.find().pretty() // 除了find() 之外...
摘要:安裝安裝中遇到的問題首先是更新的問題卡在更新界面不動(dòng)了很久沒用就會(huì)出現(xiàn)這種問題禁止更新然后安裝就好了首先是更新的問題卡在更新界面不動(dòng)了很久沒用就會(huì)出現(xiàn)這種問題禁止更新然后安裝就好了啟動(dòng)命令是啟動(dòng)報(bào)錯(cuò)主要就是沒找到這個(gè)文件夾新建一個(gè)文件夾然后 安裝 Mac 安裝中遇到的問題 首先是Homebrew更新的問題,卡在更新界面不動(dòng)了(很久沒用homebrew就會(huì)出現(xiàn)這種問題) 禁止...
摘要:安裝安裝中遇到的問題首先是更新的問題卡在更新界面不動(dòng)了很久沒用就會(huì)出現(xiàn)這種問題禁止更新然后安裝就好了首先是更新的問題卡在更新界面不動(dòng)了很久沒用就會(huì)出現(xiàn)這種問題禁止更新然后安裝就好了啟動(dòng)命令是啟動(dòng)報(bào)錯(cuò)主要就是沒找到這個(gè)文件夾新建一個(gè)文件夾然后 安裝 Mac 安裝中遇到的問題 首先是Homebrew更新的問題,卡在更新界面不動(dòng)了(很久沒用homebrew就會(huì)出現(xiàn)這種問題) 禁止...
摘要:基本介紹這是一個(gè)基本的環(huán)境搭建不同的操作系統(tǒng)可以選擇不同的安裝方式如果不需要太多的安裝步驟就直接在官網(wǎng)下載最新版安裝包進(jìn)行安裝即可環(huán)境配置必須安裝的軟件更改源與更新系統(tǒng)首先備份下載的源配置文件運(yùn)行生成緩存更新系統(tǒng)安裝使用安裝命 基本介紹 這是一個(gè)基本的Node.js環(huán)境搭建,不同的操作系統(tǒng)可以選擇不同的安裝方式 如果不需要太多的安裝步驟,就直接在Node.js官網(wǎng)下載最新版安裝包進(jìn)行...
閱讀 3288·2021-09-30 09:47
閱讀 2306·2021-09-10 10:51
閱讀 1910·2021-09-08 09:36
閱讀 2939·2019-08-30 12:56
閱讀 3045·2019-08-30 11:16
閱讀 2634·2019-08-29 16:40
閱讀 3005·2019-08-29 15:25
閱讀 1642·2019-08-29 11:02