1. 程式人生 > >mongodb介紹與使用

mongodb介紹與使用

NoSQL,泛指非關係型的資料庫。隨著網際網路web2.0網站的興起,傳統的關係資料庫在應付web2.0網站,特別是超大規模和高併發的SNS型別的web2.0純動態網站已經顯得力不從心,暴露了很多難以克服的問題,而非關係型的資料庫則由於其本身的特點得到了非常迅速的發展。NoSQL資料庫的產生就是為了解決大規模資料集合多重資料種類帶來的挑戰,尤其是大資料應用難題。
NoSQL表示不僅僅是SQL

MongoDB 是一個基於分散式檔案儲存的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充套件的高效能資料儲存解決方案。可儲存非常複雜的資料,具有以下特點:
1,支援各種程式語言,java、c++、PHP、c#、python等。
2,面向文件儲存,文件格式是面向JSON的BSON格式。
3,提供豐富的查詢功能,支援對資料建立索引。
4,模式自由,不需要實現定義文件格式,可以任意改變文件格式

使用shell操作mongodb
1,安裝好mongodb後,進入bin目錄,執行mongod啟動monggodb資料庫,執行./mongo,便進入shell
2,使用命令“user test”切換到test資料庫,mongodb會檢測test是否存在,如果不存在會自動建立,然後使用db.createUser在當前資料庫中建立一個使用者。
建立使用者如下:

db.createUser({
user:"admin",
pwd:"123456",
roles:[
{role:"readWrite",db:"test"}]
})

user,pwd分別是使用者名稱,密碼。role代表使用者角色,readWrite表示資料庫讀寫許可權,資料庫是test
後續使用資料庫就需要登陸:

使用資料庫test:
use test
db.auth("admin","123456")

3,直接使用use 資料庫名可以切換到想要操作的資料庫,
db.help()用來獲取更多關於db命令的內容;

4,insert插入文件

db.test.insert({_id:"hello",desc:"explore",tag:["ll","mm"]})

在mongodb中_id中的下劃線具有特殊的意義,表示文件主鍵,如果文件沒有提供次主鍵,則自動生成一個ObjectID型別的主鍵,ObjectID是mongodb的一種特殊型別。用12位元組儲存,分為4位元組時間戳,3位元組機器唯一標識,2位元組程序標識,以及最後三位元組自增。

5,find查詢文件

db.test.find()查詢所有文件
db.test.find({_id:"hello"})查詢_id為hello的文件
帶條件的查詢:
db.test.find({_id:{$ne:hello}})查詢_id不等於hello的文件

常用的查詢比較:

$gt  >
$gte   >=
$lt   <
$lte   <=
$eq   ==
$ne   !=
$in   in
$nin   not in

6,update更新文件

db.collection.updateOne(<filter>,<update>,<option>)
db.collection.updateMany(<filter>,<update>,<option>)
db.collection.replaceOne(<filter>,<replacememt>,<options>)

7,刪除文件
沒有指定條件,刪除所有文件:

db.test.deleteMany({})

按條件刪除:

db.test.deleteOne({_id:"hello"})

相關推薦

mongodb介紹使用

NoSQL,泛指非關係型的資料庫。隨著網際網路web2.0網站的興起,傳統的關係資料庫在應付web2.0網站,特別是超大規模和高併發的SNS型別的web2.0純動態網站已經顯得力不從心,暴露了很多難以克服的問題,而非關係型的資料庫則由於其本身的特點得到了非常迅速

MongoDB中聚合工具Aggregate等的介紹使用

mon new 測試數據 first 排序 表示 大數據 init god Aggregate是MongoDB提供的眾多工具中的比較重要的一個,類似於SQL語句中的GROUP BY。聚合工具可以讓開發人員直接使用MongoDB原生的命令操作數據庫中的數據,並且按照要求進行聚

mongodb系列~mongodb叢集介紹管理

mongodb 叢集維護1 簡介    談談mongodb的叢集架構2 常用的維護命令   1 檢視狀態 sh.status()         1 version        2 sha

MongoDB介紹Python互動

1.mongodb的官方文件 2.關係型和非關係型介紹 關係型 1.儲存資料需要提前建表建庫 2.可擴充套件性差,大資料下IO壓力大,表結構更改困難 非關係型 1.易擴充套件 2.大資料量,高效能 3.資料模型靈活,⽆需事先為要儲存的資料建⽴欄位, 隨時可以

算法和數據結構~各位排序算法的介紹實現(C#)

index per 歸並 一次 集中 div lag 合並 如何 排序是指將元素集合按照規定的順序排列。通常有兩種排序方法,升序排列和降序排列。例如,對整數集{5,2,7,1}進行升序排列,結果為{1,2,5,7},對其進行降序排列結果為{7,5,2,1}。總的來說,排

文件上傳到tomcat服務器 commons-fileupload的詳細介紹使用

部分 中文字符 form 引用 編碼 path -type dex item 三個類:DiskFileUpload、FileItem和FileUploadException。這三個類全部位於org.apache.commons.fileupload包中。 首先需要說明一下f

Linux bash介紹使用

ash 倒數 想要 之間 箭頭 單詞 一般來說 周期 use Linux————bash的簡單使用 對於一個操作系統來說,shell相當於內核kernel外的一層外殼,作為用戶接口。一般來說,操作系統的接口分為兩類:GLI:command line interface命令行

機器學習入門 - 1. 介紹決策樹(decision tree)

recursion machine learning programmming 機器學習(Machine Learning) 介紹與決策樹(Decision Tree)機器學習入門系列 是 個人學習過程中的一些記錄與心得。其主要以要點形式呈現,簡潔明了。1.什麽是機器學習?一個比較概括的理解是:

Nginx學習筆記01Nginx簡要介紹目錄說明

server 簡單 adt 服務器 網站目錄 interface simple 內核 優化 1.1. Nginx簡要介紹 (1)Nginx是Web服務器。 Apache、IIS:經典的通用Web服務器。 Lighttpd、Nginx:輕量級Web服務器。 Tomcat、

關於RestFul API 介紹實踐

clas 分享 ice div 之前 api 設計 article alt 之前演示的PPT,直接看圖。。。 ?參考鏈接: ?RESTful API 設計最佳實踐 ?RESTful API 設計指南 ?SOAP webserivce和 RESTfulwebse

mybatis介紹環境搭建

mybatis一、不用純jdbc的原因,即缺點。1、數據庫理解,使用時創建,不用時釋放,會對數據庫進行頻繁的鏈接開啟和關閉,造成數據庫的資源浪費,影響數據庫的性能。設想:使用數據庫的連接池。2、將sql語句硬編碼到java代碼中,不利於系統維護。設想:將sql放到配置文件中。3、向preparedstatem

C#操作Word Aspose.Words組件介紹及使用—基本介紹DOM概述

控制 包含 枚舉類 讀取 標記 服務器端 方法 python level 1.基本介紹 Aspose.Words是一個商業.NET類庫,可以使得應用程序處理大量的文件任務。Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XP

內核調試神器SystemTap — 簡單介紹使用(一)

kprobe utils its preview response art sym about output a linux trace/probe tool. 官網:https://sourceware.org/systemtap/ 簡單介紹 S

1.Angular框架-angular介紹基本使用,MVC模式介紹

就會 web javascrip 點擊 技術分享 fig page 格式 存儲 1.1. AngularJS概述 1.1.1. 介紹 簡稱:ng Angular是一個MVC框架 AngularJS 誕生於2009年,由 Misko Hevery 等人創建,後為Goog

npm介紹cnpm介紹

json 通過 查看 命令 all npm安裝 可能 介紹 配置文件 npm介紹 說明:npm(node package manager)是nodejs的包管理器,用於node插件管理(包括安裝、卸載、管理依賴等) 使用npm安裝插件:命令提示符執行npm install

轉載:java分布式服務框架Dubbo的介紹使用

應用 輸入流 tro odin 測試 失敗 bat provide 建議 1. Dubbo是什麽? Dubbo是一個分布式服務框架,致力於提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。簡單的說,dubbo就是個服務框架,如果沒有分布式的需求,其實是不需

第三百二十四節,web爬蟲,scrapy模塊介紹使用

通訊 通用 系列 python安裝 ide 調度器 功能 自動 優先 第三百二十四節,web爬蟲,scrapy模塊介紹與使用 Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架。 其可以應用在數據挖掘,信息處理或存儲歷史數據等一系列的程序中。其最初是為了頁面

MySQL數據庫(1)_MySQL數據庫介紹安裝

structure 文件 nbsp code 字符串常量 blank 擴展性 比較 模式 一、數據庫相關概念的簡介   數據庫(database,DB)是指長期存儲在計算機內的,有組織,可共享的數據的集合。數據庫中的數據按一定的數學模型組織、描述和存儲,具有較小的冗余,較高

2017.8.5 VMware的介紹安裝

eight 序列號 成功 -128 而是 漢化 容易 自啟 局域網 1 VMware簡介 官網地址:http://www.vmware.com VMware的功能: 是一個虛擬PC的軟件,可以在現有的操作系統上虛擬出一個新的硬件環境,相當於模擬出一臺新的PC,以此來實

用戶和組管理命令介紹詳解

linux 命令用戶管理命令:useradd,userdel,usermod,passwd,chsh.chfn,finger,id,chageUseradd(建立用戶)useradd [options] USERNAME 例:useradd -g mygroup user2建立一個