摘要:初識是一個基于分布式文件存儲的數據庫。旨在為應用提供可擴展的高性能數據存儲解決方案。是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。為什么選擇網上搜索的結果說插入效率比高云云的。。
初識MongoDB
MongoDB 是一個基于分布式文件存儲的數據庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴展的高性能數據存儲解決方案。MongoDB 是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。
為什么選擇MongoDB網上搜索的結果說mongodb插入效率比mysql高云云的。。
不過主要應該是因為json的緣故,為什么json呢,因為圍繞json有很多可用的開源產品,比如elasticsearch
不過依我看,最主要的原因就是其對JavaScript良好的支持吧
安裝MongoDB官方下載地址
我們也可以利用homebrew和docker等第三方工具來進行MongoDB的安裝
可視化工具在這里我推薦Robomongo
沒有原因,就是用著還挺順手 -。-
打開終端,執行sudo mongod --config /usr/local/etc/mongod.conf啟動MongoDB,再另開一個終端輸入mongo就能成功打開mongo shell并進行咱們的操作了
界面如下
如果需要退出MongoDB,按下control+c即可
注意:以上均在mac環境下成功實現,win 下本人還未嘗試..下次找個機會試試
請開始我們的表演
插入數據先利用use trevor-mongo創建一個名為trevor-mongo的數據庫
可以看到已經自動切換至trevor-mongo這個數據庫,現在就可以利用db.test.insertOne({title: "第一條數據"})來插入一條數據
如果在數據庫中沒有數據表,MongoDB則會自動給你創建數據表
就這樣,恭喜你,已經在test數據表里面添加了第一條數據
查詢數據在上面我們已經添加了一條數據,那么現在可以在終端里面輸入db.test.find({})來查詢test數據表下的所有數據
大伙有沒有覺得_id很煩人??
其實我們完全可以將它過濾掉
在db.test.find({}, {_id: 0, title: 1})這條命令里面,第一個大括號里面應該寫入篩選條件,如果為空,則默認為all。第二個大括號則是用來放數據顯示條件,0代表不現實,1代表顯示
修改(更新)數據我們可以利用db.test.updateOne({},{$set: {des: "no.1"}})來為數據添加一個des字段,再查尋一下
bingo!更新成功
刪除數據利用db.test.deleteOne({title: "第一條數據"}),我們可以刪除從開頭起第一個title為"第一條數據"的文檔
就這樣,我們已經將最簡單的操作給過了一遍,是不是很簡單?所以說MongoDB對初學者真的很友好
進階在這之前,推薦先去看看MongoDB基本命令
現在,我們可以利用豆瓣開發者api來模擬一些數據
首先咱們先GET一下豆瓣電影top250的數據
將subjects里面的數據復制并打開編輯器,輸入
將這些代碼粘貼至mongo shell并執行,這樣就在數據庫下成功創建了一個名為movies的數據表。
這時我們可以利用Robomongo來查看數據
首先是連接數據庫,MongoDB默認端口號為27017
現在開始有目的性的查詢數據
假設咱們有個需求,需要獲得評分9.2以上的所有電影,并且只需顯示電影名(title),電影評分(rating.average)以及電影年份(year)并將它們升序排列輸出
這說白了就是一個條件查詢
代碼如下:
db.movies.find({"rating.average": {$gt: 9.2}}, {title: 1, year: 1, "rating.average": 1, _id: 0}).sort({"rating.average": 1})
就這樣成功完成查詢,是不是很簡單?
就這樣,祝大家 have a nice day ; )
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/18961.html
摘要:作為一個有志向的前端,怎么能不搞搞全棧呢。。。地址歡迎大家多多交流前端技術啊,如果大家喜歡的話,請給我一個小小的哦 作為一個有志向的前端,怎么能不搞搞全(zhuang)棧(bi)呢。。。說搞咱就搞啊,后端就用node,數據庫就用mongodb,前端呢,呃,再搞個node的web框架express,思路搞定,開始搭建我們的環境,搭建之前還是先看看我們的目標和成果 項目的目標和成果 sh...
摘要:沒有耐心閱讀的同學,可以直接前往學習全棧最后一公里。我下面會羅列一些,我自己錄制過的一些項目,或者其他的我覺得可以按照這個路線繼續深入學習的項目資源。 showImg(https://segmentfault.com/img/bVMlke?w=833&h=410); 本文技術軟文,閱讀需謹慎,長約 7000 字,通讀需 5 分鐘 大家好,我是 Scott,本文通過提供給大家學習的方法,...
摘要:前端日報精選聽說你沒來總結個人使用過的移動端布局方法新特性簡介用寫組件坦然面對應對前端疲勞中文深入理解筆記函數前端架構經驗分享系列教程之創建頁面元素龍云全棧系列教程之定位頁面元素龍云全棧第期與表單驗證技術周刊期知乎 2017-07-17 前端日報 精選 聽說你沒來 JSConf 2017?總結個人使用過的移動端布局方法 - Rni-L - SegmentFaultNode.js v8....
摘要:總的來說就是開發博客系統,探索前端走向全棧之路。我會記錄下來整個過程在我的專欄,有興趣的可以關注一下,一起學習,歡迎討論。話不多說,先進行前后端項目的初始化。安裝完成后,輸入命令切換到項目文件夾后輸入命令訪問一下項目初始化完成。 學習JS也有一段時間了,準備試著寫一個博客項目,前后端分離開發,后端用node只提供數據接口,前端用vue-cli腳手架搭建,路由也由前端控制,數據異步交互用...
閱讀 1440·2021-11-17 09:33
閱讀 3030·2021-10-13 09:39
閱讀 2707·2021-10-09 10:01
閱讀 2454·2021-09-29 09:35
閱讀 3902·2021-09-26 10:01
閱讀 3524·2019-08-26 18:37
閱讀 3155·2019-08-26 13:46
閱讀 1918·2019-08-26 13:39