MangoDb

一、操作mongodb數(shù)據(jù)庫

? ? 1、創(chuàng)建數(shù)據(jù)庫

? ? ? ? 語法:use 數(shù)據(jù)庫名

? ? ? ? 注意:如果數(shù)據(jù)庫不存在則創(chuàng)建數(shù)據(jù)庫,否則切換到指定的數(shù)據(jù)庫

? ? ? ? 注意:如果剛剛創(chuàng)建的數(shù)據(jù)庫不在列表內(nèi)病往,如果要顯示它,我們需要向剛剛創(chuàng)建的數(shù)據(jù)庫中插入一些數(shù)據(jù)

? ? ? ? (? db.student.insert({name:"tom", age:18, gender:1,address:"北京", isDelete:0})? )

? ? 2骄瓣、刪除數(shù)據(jù)庫

? ? ? ? 前提:使用當(dāng)前數(shù)據(jù)庫(use 數(shù)據(jù)庫名)

? ? ? ? db.dropDatabase()

? ? 3停巷、查看所有數(shù)據(jù)

? ? ? ? show dbs

? ? 4、查看當(dāng)前正在使用的數(shù)據(jù)庫

? ? ? ? a榕栏、db

? ? ? ? b畔勤、db.getName()

? ? 5、斷開連接

? ? ? ? exit

? ? 6扒磁、查看命令api

? ? ? ? help

二庆揪、集合操作

? ? 1、查看當(dāng)前數(shù)據(jù)庫下有哪些集合

? ? ? ? show collections

? ? 2妨托、創(chuàng)建集合

? ? ? ? a缸榛、

? ? ? ? ? ? 語法:db.createCollection("集合名")

? ? ? ? ? ? 示例:db.createCollection("class")

? ? ? ? b、

? ? ? ? ? ? 語法:db.集合名.insert(文檔)

? ? ? ? ? ? 示例:db.student.insert({name:"tom", age:18, gender:1,address:"北京", isDelete:0})

? ? ? ? 區(qū)別:兩者的區(qū)別在于前者創(chuàng)建的是一個空的集合兰伤,后者創(chuàng)建一個空的集合并添加一個文檔

? ? 3内颗、刪除當(dāng)前數(shù)據(jù)庫中的集合

? ? ? ? 語法:db.集合名.drop()

? ? ? ? 示例:db.class.drop()

三、文檔操作

? ? 1敦腔、插入文檔

? ? ? ? a均澳、使用insert()方法插入文檔

? ? ? ? ? ? 語法:db.集合名.insert(文檔)

? ? ? ? ? ? 插入一個:db.student.insert({name:"lilei", age:19, gender:1,address:"北京", isDelete:0})

? ? ? ? ? ? 語法:db.集合名.insert([文檔1, 文檔2, ……, 文檔n])

? ? ? ? ? ? 插入多個:db.student.insert([{name:"海妹妹", age:17, gender:0,address:"北京", isDelete:0},{name:"韓梅梅", age:20, gender:0,address:"上海", isDelete:0}])

? ? ? ? b、使用save()方法插入文檔

? ? ? ? ? ? 語法:db.集合名.save(文檔)

? ? ? ? ? ? 說明:如果不指定_id字段符衔,save()方法類似于insert()方法负懦。如果指定_id字段,則會更新_id字段的數(shù)據(jù)

? ? ? ? ? ? 示例1:db.student.save({name:"poi", age:22, gender:1,address:"石家莊", isDelete:0})

? ? ? ? ? ? 示例2:db.student.save({_id:ObjectId("59950962019723fe2a0d8d17"),name:"poi", age:23, gender:1,address:"石家莊", isDelete:0})

? ? 2柏腻、文檔更新

? ? ? ? a纸厉、update()方法用于更新已存在的文檔

? ? ? ? 語法:

? ? ? ? ? ? db.集合名.update(

? ? ? ? ? ? ? ? query,

? ? ? ? ? ? ? ? update,

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? upset:<boolean>,

? ? ? ? ? ? ? ? ? ? multi:<boolean>,

? ? ? ? ? ? ? ? ? ? writeConcern:<document>

? ? ? ? ? ? ? ? }

? ? ? ? ? ? )

? ? ? ? 參數(shù)說明:

? ? ? ? ? ? query:update的查詢條件,類似于sql里update語句內(nèi)where后面的內(nèi)容

? ? ? ? ? ? update:update的對象和一些更新的操作符($set,$inc)等五嫂,$set直接更新颗品,$inc在原有的基礎(chǔ)上累加后更新

? ? ? ? ? ? upset:可選肯尺,如果不存在update的記錄,是否當(dāng)新數(shù)據(jù)插入躯枢,true為插入则吟,F(xiàn)alse為不插入,默認(rèn)為false

? ? ? ? ? ? multi:可選锄蹂,mongodb默認(rèn)是false氓仲,只更新找到的第一條記錄,如果這個參數(shù)為true,就按照條件查找出來的數(shù)據(jù)全部更新

? ? ? ? ? ? writeConcern:可選得糜,拋出異常的級別

? ? ? ? 需求:將lilei的年齡更新為25

? ? ? ? 示例:

? ? ? ? ? ? ? db.student.update({name:"lilei"},{$set:{age:25}})

? ? ? ? ? ? ? 累加:db.student.update({name:"lilei"},{$inc:{age:25}})?

? ? ? ? ? ? ? 全改:db.student.update({name:"poi"},{$set:{age:42}},{multi:true})?

? ? ? ? b敬扛、save()方法通過傳入的文檔替換已有文檔

? ? ? ? ? ? 語法:

? ? ? ? ? ? ? ? db.集合名.save(

? ? ? ? ? ? ? ? ? ? document,

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? writeConcern:<document>

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? )

? ? ? ? ? ? 參數(shù)說明:

? ? ? ? ? ? ? ? document:文檔數(shù)據(jù)

? ? ? ? ? ? ? ? writeConcern:可選,拋出異常的級別

? ? 3朝抖、文檔刪除

? ? ? ? 說明:在執(zhí)行remove()函數(shù)前啥箭,先執(zhí)行find()命令來判斷執(zhí)行的條件是否存在是一個良好習(xí)慣

? ? ? ? 語法:

? ? ? ? ? ? db.集合名.remove(

? ? ? ? ? ? ? ? query,

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? justOne:<boolean>,

? ? ? ? ? ? ? ? ? ? writeConcern:<document>

? ? ? ? ? ? ? ? }

? ? ? ? ? ? )

? ? ? ? 參數(shù)說明:

? ? ? ? ? ? query:可選,刪除的文檔的條件

? ? ? ? ? ? justOne:可選治宣,如果為true或1急侥,則只刪除一個文檔

? ? ? ? ? ? writeConcern:可選,拋出異常的級別

? ? ? ? 示例:db.student.remove({name:"poi"})

? ? 4侮邀、文檔查詢

? ? ? ? a坏怪、find()方法

? ? ? ? ? ? 語法:db.集合名.find()

? ? ? ? ? ? 查詢集合下所有的文檔(數(shù)據(jù)):db.student.find()

? ? ? ? b、find()方法查詢指定列

? ? ? ? ? ? 語法:db.集合名.find(

? ? ? ? ? ? ? ? query,

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? <key>:1,

? ? ? ? ? ? ? ? ? ? <key>:1

? ? ? ? ? ? ? ? }

? ? ? ? ? ? )

? ? ? ? ? ? 參數(shù)說明:

? ? ? ? ? ? ? ? query:查詢條件

? ? ? ? ? ? ? ? key:要顯示的字段绊茧,1表示顯示

? ? ? ? 示例:

? ? ? ? ? ? ? db.student.find({gender:0},{name:1,age:1})

? ? ? ? ? ? ? db.student.find({},{name:1,age:1})

? ? ? ? c陕悬、pretty()方法以格式化的方式來顯示文檔

? ? ? ? ? ? 示例:db.student.find().pretty()

? ? ? ? d、findOne()方法查詢匹配結(jié)果的第一條數(shù)據(jù)

? ? ? ? ? ? 示例:db.student.findOne({gender:0})

? ? 5按傅、查詢條件操作符

? ? ? ? 作用:條件操作符用于比較兩個表達(dá)式并從Mongodb集合中獲取數(shù)據(jù)

? ? ? ? a捉超、大于 - $gt

? ? ? ? ? ? 語法:db.集合名.find({<key>:{$gt:<value>}})

? ? ? ? ? ? 示例:db.student.find({age:{$gt:20}})

? ? ? ? b、大于等于 - $gte

? ? ? ? ? ? 語法:db.集合名.find({<key>:{$gte:<value>}})

? ? ? ? c唯绍、小于 - $lt

? ? ? ? ? ? 語法:db.集合名.find({<key>:{$lt:<value>}})

? ? ? ? d拼岳、小于等于 - $lte

? ? ? ? ? ? 語法:db.集合名.find({<key>:{$lte:<value>}})

? ? ? ? e、大于等于 和 小于等于 - $gte 和 $lte

? ? ? ? ? ? 語法:db.集合名.find({<key>:{$gte:<value>,$lte:<value>}})

? ? ? ? f况芒、等于 - :

? ? ? ? ? ? 語法:db.集合名.find({<key>:<value>})

? ? ? ? g惜纸、使用_id進(jìn)行查詢

? ? ? ? ? ? 語法:db.student.find({"_id":ObjectId("id值")})

? ? ? ? ? ? 示例:db.student.find({"_id":ObjectId("5995084b019723fe2a0d8d14")})

? ? ? ? h、查詢某個結(jié)果集的數(shù)據(jù)條數(shù)

? ? ? ? ? ? db.student.find().count()

? ? ? ? i绝骚、查詢某個字段的值當(dāng)中是否包含另一個值

? ? ? ? ? ? 語法:

? ? ? ? ? ? 示例:db.student.find({name:/ile/})

? ? ? ? j耐版、查詢某個字段的值是否以另一個值開頭

? ? ? ? ? ? 示例:db.student.find({name:/^li/})

? ? 6、條件查詢and 和 or

? ? ? ? a压汪、AND條件

? ? ? ? ? ? 語法:db.集合名.find({條件1,條件2,……,條件n})

? ? ? ? ? ? 示例:db.student.find({gender:0,age:{$gt:16}})

? ? ? ? b粪牲、OR條件

? ? ? ? ? ? 語法:

? ? ? ? ? ? ? ? db.集合名.find(

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? $or:[{條件1},{條件2},……,{條件n}]

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? )

? ? ? ? ? ? 示例:db.student.find({$or:[{age:17},{age:{$gte:20}}]})

? ? ? ? c、AND和OR聯(lián)合使用

? ? ? ? ? ? 語法:

? ? ? ? ? ? ? ? db.集合名.find(

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? 條件1,

? ? ? ? ? ? ? ? ? ? ? ? 條件2,

? ? ? ? ? ? ? ? ? ? ? ? $or:[{條件3},{條件4}]

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? )

? ? 7止剖、limit腺阳、skip

? ? ? ? a落君、limit():讀取指定數(shù)量的數(shù)據(jù)記錄

? ? ? ? ? ? db.student.find().limit(3)

? ? ? ? b、skip():跳過指定數(shù)量的數(shù)據(jù)

? ? ? ? ? ? db.student.find().skip(3)

? ? ? ? c亭引、skip與limit聯(lián)合使用

? ? ? ? ? ? 通常用這種方式來實現(xiàn)分頁功能

? ? ? ? ? ? 示例:db.student.find().skip(3).limit(3)

? ? 8绎速、排序

? ? ? ? 語法:db.集合名.find().sort({<key>:1|-1})

? ? ? ? 示例:db.student.find().sort({age:1})

? ? ? ? 注意:1表示升序,-1表示降序

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末焙蚓,一起剝皮案震驚了整個濱河市纹冤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌购公,老刑警劉巖萌京,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異君丁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)将宪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門绘闷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人较坛,你說我怎么就攤上這事印蔗。” “怎么了丑勤?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵华嘹,是天一觀的道長。 經(jīng)常有香客問我法竞,道長耙厚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任岔霸,我火速辦了婚禮薛躬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘呆细。我一直安慰自己型宝,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布絮爷。 她就那樣靜靜地躺著趴酣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坑夯。 梳的紋絲不亂的頭發(fā)上岖寞,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天,我揣著相機(jī)與錄音柜蜈,去河邊找鬼慎璧。 笑死床嫌,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的胸私。 我是一名探鬼主播厌处,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼岁疼!你這毒婦竟也來了阔涉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤捷绒,失蹤者是張志新(化名)和其女友劉穎瑰排,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體暖侨,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡椭住,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了字逗。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片京郑。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖葫掉,靈堂內(nèi)的尸體忽然破棺而出些举,到底是詐尸還是另有隱情,我是刑警寧澤俭厚,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布户魏,位于F島的核電站,受9級特大地震影響挪挤,放射性物質(zhì)發(fā)生泄漏叼丑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一扛门、第九天 我趴在偏房一處隱蔽的房頂上張望幢码。 院中可真熱鬧,春花似錦尖飞、人聲如沸症副。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贞铣。三九已至,卻和暖如春沮明,著一層夾襖步出監(jiān)牢的瞬間辕坝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工荐健, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留酱畅,地道東北人琳袄。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像纺酸,于是被迫代替她去往敵國和親窖逗。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1餐蔬、MongoDb 介紹 ? MongoDB 是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品碎紊,是非關(guān)系數(shù)...
    彼得朱閱讀 947評論 0 2
  • 一、MongoDB簡介 1.概述 ? MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫樊诺,由C++語言編寫仗考。旨在為WE...
    鄭元吉閱讀 976評論 0 2
  • 一、操作mongodb數(shù)據(jù)庫 1词爬、創(chuàng)建數(shù)據(jù)庫 語法:use 數(shù)據(jù)庫名 注意:如果數(shù)據(jù)庫不存在則創(chuàng)建數(shù)據(jù)庫秃嗜,否則切換...
    仙靈兒閱讀 218評論 0 0
  • (一)什么是MangoDB數(shù)據(jù)庫 MongoDB是一個跨平臺,面向文檔的數(shù)據(jù)庫顿膨,提供高性能锅锨,高可用性和易于擴(kuò)展。...
    光游騎兵閱讀 6,886評論 0 6
  • 簡介 MongoDB 是一個基于分布式文件存儲的NoSQL數(shù)據(jù)庫 由C++語言編寫虽惭,運行穩(wěn)定橡类,性能高 旨在為 WE...
    大熊_7d48閱讀 36,395評論 1 9