国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

mongodb

XFLY / 3087人閱讀

摘要:歷史年來的下載,安裝訪問官網下載其中文社區一個可視化工具或者因為某些緣故,導致燈塔國的東東很慢很慢一直感覺安裝的。。。這意味著可以往集合里插入任何的格式。

MongDB
MongDB一種面向文檔的數據庫管理系統,由C++寫成。
官網 https://www.mongodb.com/
github https://github.com/mongodb/mongo

NoSQL

NoSQL不使用SQL作為查詢語言。其數據的儲存可以不需要固定的表格形式。也會經常的被使用sql的join

特點

通常提供弱的一致性保護, 但保證最終的一致性。

關系型數據庫遵守的特點

ACID
即 A 原子性 事物中的操作要么全做,要么都做
C 一致性 數據庫一直要處于一致的狀態
I 獨立性 并發事物之間不會相互影響(即 三級封鎖協議,鎖的形成)
D 持久性 數據庫提交完成以后持久保存

分布式系統

分布式系統是由多臺計算機和通信軟件組成,通過網絡相互連接。分布式系統是建立在網絡之上的系統。分布式系統的區別在于操作系統。

分布式系統的優點

可靠性(容錯機制)可擴展性(可以隨意的增加更多的機器)資源共享(數據之間可以共享)靈活性(由于該系統是非常靈活的,易于安裝)更快的速度(分布式計算擁有更快的計算能力,易于進行更多的計算)開放系統(由于其系統是開放,本地和遠程都可直接訪問)更高的性能(相比于集群,擁有更高的性能)

缺點

故障不易排除,擁有更少的軟件,網絡問題,安全性問題

RDBMS 和 NoSQL RDBMS

為關系型數據庫的基礎
擁有高度的組織化結構數據
擁有結構化查詢語言
數據和關系都儲存在多帶帶的表中
嚴格的一致性
基礎的事物

NoSQL

沒有聲明式查詢語言
沒有預定義模式
鍵值對儲存,列儲存,文檔儲存,圖形數據庫
最終的一致性而不保證過程的一致性
非結構化和不可預知的數據
CAP定理
高性能,高可用性和高伸縮性

CAP定理

CAP定理被稱為布魯爾定理,對于分布式系統來說,不可能滿足以下三點
一致性 (等同于所有節點訪問同一份最新數據的副本)
可用性 (每次請求都能獲取到非錯誤的響應)
分區容錯性(系統中任意錯誤都不會導致錯誤的丟失)
更多 https://ja.wikipedia.org/wiki...
根據CAP原理 將數據庫分類如下 滿足 CA 原則、滿足 CP 原則和滿足 AP 原則的三大類

BASE

BASE:Basically Available, Soft-state, Eventually Consistent。
BASE是NoSQL數據庫通常對可用性及一致性的弱要求原則

NoSQL數據庫分類

列儲存 | 按照列儲存數據 | 代表
--------|--------------| Hbase
文檔儲存 | 類似于JSON的格式,儲存的內容是文檔類型的,這樣有機會對某些字段建立索引,實現關系數據庫的某些功能。| Mongdb
key-value 儲存 | 通過key快速查詢到value | Redis
圖儲存 | 圖形儲存 | Flockdb 來自于推特
對象儲存 | 通過面向對象的語法來操作數據庫 | Versant
xml數據 | 儲存XML數據 | http://basex.org/

誰在用

Google((^__^) 嘻嘻……)
http://digg.com/
https://www.mheducation.com/h...
http://digital.vpr.net
https://foursquare.com/

MongoDB

由C++編寫,MongoDB將數據儲存為一個文檔
數據結構由鍵值對組成。其文檔類似于JSON對象

 特點

豐富的表達式,支持任何索引,負載的增加,批量處理和聚合操作等等。。。。

歷史

2007年來的

MongDB下載,安裝

訪問官網下載 https://www.mongodb.com/downl...
其中文社區 http://www.mongoing.com/
一個可視化工具 https://www.nosqlclient.com/
或者 http://mms.litixsoft.de/index...

因為某些緣故,導致燈塔國的東東很慢很慢
一直感覺安裝的。。。很炫酷。。
沒辦法。。。燈塔國的。。好吧,安裝完畢

設置數據目錄
PS C:> cd data
PS C:data> ls
PS C:data> mkdir db


    目錄: C:data


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2018/7/31      2:37                db


PS C:data> ls


    目錄: C:data


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2018/7/31      2:37                db


PS C:data> cd db
PS C:datadb>
設置環境變量

C:Program FilesMongoDBServer4.0bin

打開Powershell
PS C:Program FilesMongoDBServer4.0in> mongod  -dbpath c:datadb

執行mongod創建數據目錄

連接
PS C:UsersmingmDesktop> mongo.exe
MongoDB shell version v4.0.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 4.0.0
Server has startup warnings:
2018-07-31T02:32:28.615+0800 I CONTROL  [initandlisten]
2018-07-31T02:32:28.616+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-07-31T02:32:28.616+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2018-07-31T02:32:28.616+0800 I CONTROL  [initandlisten]
---
Enable MongoDB"s free cloud-based monitoring service to collect and display
metrics about your deployment (disk utilization, CPU, operation statistics,
etc).

The monitoring data will be available on a MongoDB website with a unique
URL created for you. Anyone you share the URL with will also be able to
view this page. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.

To enable free monitoring, run the following command:
db.enableFreeMonitoring()
---

>
可視化連接

mongodb://127.0.0.1:27017
將其復制上去就行了

ok好啦,至此安裝完成
這是一個JavaScript shell
(^o^)/ 瞬間擁有親切感。
js的語言終于可以再次用上

mongodb概念解析
sql mongodb 解釋/說明
databass databass 數據庫
table collection 數據庫表/集合
row document 行/文檔
colunm field 字段/域
index index 索引
table joins 表連接
primary key primary key 主鍵/nongodb自動將_id設置為主鍵

一張圖說明

數據插入集合中,該文檔就會被創建

合法的集合名

集合名不能是空字符串
集合名不能含有0
集合名不能以system開頭
創建的集合名不能有保留字,因為系統生成的集合包含有$

元數據

數據庫的信息存儲在集合中,使用了系統命名的空間

mongodb數據類型 Objectid

唯一主鍵包含12位。

前 4 個字節表示創建 unix 時間戳,格林尼治時間 UTC 時間,比北京時間晚了 8 個小時
接下來的 3 個字節是機器標識碼
緊接的兩個字節由進程 id 組成 PID
最后三個字節是隨機數

類似于這樣的

5b5f65cc12df191848c2c72f
字符串

字符串為utf-8編碼

事件戳
前32位是一個 time_t 值(與Unix新紀元相差的秒數)
后32位是在某秒中操作的一個遞增的序數
日期

格林尼治時間

> var mydate1 = new Date()
> mydatel
ISODate("2018-07-30T19:26:17.080Z")
>
> Date()
Tue Jul 31 2018 03:27:07 GMT+0800
>
連接

mongodb:

創建數據庫
> use Date
switched to db Date
> db
Date
>

查看所有數據庫

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
>

由于不存在,需要顯示,向其插入數據

> db.Date.insert({"name":"ming"});
WriteResult({ "nInserted" : 1 })
> show dbs;
Date    0.000GB
admin   0.000GB
config  0.000GB
local   0.000GB
>
刪除數據庫
> show dbs;
Date    0.000GB
admin   0.000GB
config  0.000GB
local   0.000GB
> use Date
switched to db Date
> db.dropDatabase()
{ "dropped" : "Date", "ok" : 1 }
>
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
>
刪除集合
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
> use local
switched to db local
> show tabls;
2018-07-31T03:34:06.601+0800 E QUERY    [js] Error: don"t know how to show [tabls] :
shellHelper.show@src/mongo/shell/utils.js:1043:11
shellHelper@src/mongo/shell/utils.js:755:15
@(shellhelp2):1:1
> show tables;
mycoll
startup_log
> db.mycoll.drop();
true
> show tables;
startup_log
>
創建集合
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
> use local
switched to db local
> db.createCollection("ming");
{ "ok" : 1 }
> show collections;
ming
startup_log
>

在MongoDB中,不需要創建集合,在插入一些文檔的時候,會自動創建集合

> db.mycol2.insert({"name":"ming"});
WriteResult({ "nInserted" : 1 })
> show collections;
ming
mycol2
startup_log
刪除集合
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
> use local
switched to db local
> show collections;
ming
mycol2
startup_log
> db.mycol2.drop();
true
> show collections;
ming
startup_log
>
插入文檔

即插入row
所有的儲存格式是一種JSON格式的

> db.col.insert({title:"ming",
... ming:"sdfdf"});
WriteResult({ "nInserted" : 1 })
> db.col.find();
{ "_id" : ObjectId("5b5f6a0ed595bb04cbe14b94"), "title" : "ming", "ming" : "sdfdf" }
>

也可以將數據定義為一種變量
都是js的語法。不難,很好上手的
還有一個方法是 insertOne 以及insertMany 分別插入一行或者多行

MongoDB更新文檔

使用update()的方法進行更新

> db.col.insert({title:"ming",ming:"ming"});
WriteResult({ "nInserted" : 1 })
> db.col.find();
{ "_id" : ObjectId("5b5f6a0ed595bb04cbe14b94"), "title" : "ming", "ming" : "sdfdf" }
{ "_id" : ObjectId("5b5f6b27d595bb04cbe14b95"), "title" : "ming", "ming" : "ming" }
> db.col.update({title:ming, ming:"ming"},{$set:{"title":"ming",ming:"sferfer"}});
2018-07-31T03:49:28.376+0800 E QUERY    [js] ReferenceError: ming is not defined :
@(shell):1:16
> db.col.update({title:"ming"},{$set:{"title":"seferf"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.col.find();
{ "_id" : ObjectId("5b5f6a0ed595bb04cbe14b94"), "title" : "seferf", "ming" : "sdfdf" }
{ "_id" : ObjectId("5b5f6b27d595bb04cbe14b95"), "title" : "ming", "ming" : "ming" }
> db.col.find().pretty();
{
        "_id" : ObjectId("5b5f6a0ed595bb04cbe14b94"),
        "title" : "seferf",
        "ming" : "sdfdf"
}
{
        "_id" : ObjectId("5b5f6b27d595bb04cbe14b95"),
        "title" : "ming",
        "ming" : "ming"
}
>

使用save()替換其方法

> db.col.find().pretty();
{
        "_id" : ObjectId("5b5f6a0ed595bb04cbe14b94"),
        "title" : "seferf",
        "ming" : "sdfdf"
}
{
        "_id" : ObjectId("5b5f6b27d595bb04cbe14b95"),
        "title" : "ming",
        "ming" : "ming"
}
> db.col.save({_id: ObjectId("5b5f6a0ed595bb04cbe14b94"), title:"1111"});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.col.find().pretty();
{ "_id" : ObjectId("5b5f6a0ed595bb04cbe14b94"), "title" : "1111" }
{
        "_id" : ObjectId("5b5f6b27d595bb04cbe14b95"),
        "title" : "ming",
        "ming" : "ming"
}
>

同樣的updateOne()和updateMany()同樣可以更新一個或者多個文檔
更新的標識仍然是$set

刪除文檔

刪除全部文檔deleteMany(),刪除一個文檔deleteOne()

> db.col.find().pretty();
{ "_id" : ObjectId("5b5f6a0ed595bb04cbe14b94"), "title" : "1111" }
{
        "_id" : ObjectId("5b5f6b27d595bb04cbe14b95"),
        "title" : "ming",
        "ming" : "ming"
}
> db.col.deleteOne({title:"ming"});
{ "acknowledged" : true, "deletedCount" : 1 }
> db.col.find().pretty();
{ "_id" : ObjectId("5b5f6a0ed595bb04cbe14b94"), "title" : "1111" }
>
查詢文檔
> show collections;
col
ming
startup_log
> db.ming.find().pretty();
> db.ming.insert(ming:"sfrgedrg");
2018-07-31T04:01:45.661+0800 E QUERY    [js] SyntaxError: missing ) after argument list @(shell):1:19
> db.ming.insert({ming:"sdfrf"});
WriteResult({ "nInserted" : 1 })
> db.ming.find().pretty();
{ "_id" : ObjectId("5b5f6eb7d595bb04cbe14b96"), "ming" : "sdfrf" }
>
and條件
> db.ming.find().pretty();
{ "_id" : ObjectId("5b5f6eb7d595bb04cbe14b96"), "ming" : "sdfrf" }
{ "_id" : ObjectId("5b5f6f0ad595bb04cbe14b97"), "name" : "refgerfg" }
{ "_id" : ObjectId("5b5f6f40d595bb04cbe14b98"), "x" : 222, "y" : 44444 }
{ "_id" : ObjectId("5b5f6f50d595bb04cbe14b99"), "x" : 4444, "y" : 22222 }
> db.ming.find({x:222, y:4444});
> db.ming.find({x:222, y:4444}).pretty();
> db.ming.find({x:222, y:44444}).pretty();
{ "_id" : ObjectId("5b5f6f40d595bb04cbe14b98"), "x" : 222, "y" : 44444 }
>

直接,即可

OR條件

使用$or即可

> db.ming.find({  $or:[{x:222}, {x:4444}]  });
{ "_id" : ObjectId("5b5f6f40d595bb04cbe14b98"), "x" : 222, "y" : 44444 }
{ "_id" : ObjectId("5b5f6f50d595bb04cbe14b99"), "x" : 4444, "y" : 22222 }
>
聯合使用

sql示例

where likes>50 AND (by = "ming" OR title = "ming")
db.ming.find(like: {$gt:50}, $or[{by:"ming"}, {title:"ming"}]);
條件操作符
> $gt
< $lt
>= $gte
<= $lte
db.col.find({like: {$gt: 100}});

類比sql

select * from db.col where like > 100;
博客

www.iming.info

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19325.html

相關文章

  • 聊聊MongoDB - MongoDB的簡單安裝

    摘要:安裝全過程環境基本情況我是在電腦下安裝的系統位,這個也是導致我安裝的時候出現異常提示,原因可能是的版本是位的,我應該再找一個位的,但事實上我找不到。 簡述 之前講了一些關于MongoDB的知識,出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計算機的虛擬機的centos系統下安裝MongoDB的經歷,希望感興趣的你們在安裝MongoDB的時候出現問題可以來看看我是怎么安裝的...

    notebin 評論0 收藏0
  • 聊聊MongoDB - MongoDB的簡單安裝

    摘要:安裝全過程環境基本情況我是在電腦下安裝的系統位,這個也是導致我安裝的時候出現異常提示,原因可能是的版本是位的,我應該再找一個位的,但事實上我找不到。 簡述 之前講了一些關于MongoDB的知識,出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計算機的虛擬機的centos系統下安裝MongoDB的經歷,希望感興趣的你們在安裝MongoDB的時候出現問題可以來看看我是怎么安裝的...

    whatsns 評論0 收藏0
  • 聊聊MongoDB - MongoDB的簡單安裝

    摘要:安裝全過程環境基本情況我是在電腦下安裝的系統位,這個也是導致我安裝的時候出現異常提示,原因可能是的版本是位的,我應該再找一個位的,但事實上我找不到。 簡述 之前講了一些關于MongoDB的知識,出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計算機的虛擬機的centos系統下安裝MongoDB的經歷,希望感興趣的你們在安裝MongoDB的時候出現問題可以來看看我是怎么安裝的...

    diabloneo 評論0 收藏0

發表評論

0條評論

XFLY

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<