日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MongoDB非关系型数据库开发手册

發(fā)布時間:2023/12/2 数据库 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB非关系型数据库开发手册 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一:NoSql數(shù)據(jù)庫

什么是NoSQL?

NoSQL,指的是非關(guān)系型的數(shù)據(jù)庫。NoSQL有時也稱作Not Only SQL的縮寫,是對不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫管理系統(tǒng)的統(tǒng)稱。

NoSQL用于超大規(guī)模數(shù)據(jù)的存儲。(例如谷歌或Facebook每天為他們的用戶收集萬億比特的數(shù)據(jù))。這些類型的數(shù)據(jù)存儲不需要固定的模式,無需多余操作就可以橫向擴(kuò)展。

為什么使用NoSQL ?

今天我們可以通過第三方平臺(如:Google,Facebook等)可以很容易的訪問和抓取數(shù)據(jù)。用戶的個人信息,社交網(wǎng)絡(luò),地理位置,用戶生成的數(shù)據(jù)和用戶操作日志已經(jīng)成倍的增加。我們?nèi)绻獙@些用戶數(shù)據(jù)進(jìn)行挖掘,那SQL數(shù)據(jù)庫已經(jīng)不適合這些應(yīng)用了, NoSQL數(shù)據(jù)庫的發(fā)展也卻能很好的處理這些大的數(shù)據(jù)。

CAP定理(CAP theorem)

在計算機(jī)科學(xué)中, CAP定理(CAP theorem), 又被稱作 布魯爾定理(Brewer's theorem), 它指出對于一個分布式計算系統(tǒng)來說,不可能同時滿足以下三點:

  • 一致性(Consistency) (所有節(jié)點在同一時間具有相同的數(shù)據(jù))
  • 可用性(Availability) (保證每個請求不管成功或者失敗都有響應(yīng))
  • 分隔容忍(Partition tolerance) (系統(tǒng)中任意信息的丟失或失敗不會影響系統(tǒng)的繼續(xù)運作)

CAP理論的核心是:一個分布式系統(tǒng)不可能同時很好的滿足一致性,可用性和分區(qū)容錯性這三個需求,最多只能同時較好的滿足兩個。

因此,根據(jù) CAP 原理將 NoSQL 數(shù)據(jù)庫分成了滿足 CA 原則、滿足 CP 原則和滿足 AP 原則三 大類:

  • CA - 單點集群,滿足一致性,可用性的系統(tǒng),通常在可擴(kuò)展性上不太強(qiáng)大。
  • CP - 滿足一致性,分區(qū)容忍性的系統(tǒng),通常性能不是特別高。
  • AP - 滿足可用性,分區(qū)容忍性的系統(tǒng),通常可能對一致性要求低一些。

NoSQL的優(yōu)點/缺點

優(yōu)點:

  • - 高可擴(kuò)展性
  • - 分布式計算
  • - 低成本
  • - 架構(gòu)的靈活性,半結(jié)構(gòu)化數(shù)據(jù)
  • - 沒有復(fù)雜的關(guān)系

缺點:

  • - 沒有標(biāo)準(zhǔn)化
  • - 有限的查詢功能(到目前為止)
  • - 最終一致是不直觀的程序

NoSQL 數(shù)據(jù)庫分類

類型部分代表特點
列存儲Hbase Cassandra Hypertable顧名思義,是按列存儲數(shù)據(jù)的。最大的特點是方便存儲結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù),方便做數(shù)據(jù)壓縮,對針對某一列或者某幾列的查詢有非常大的IO優(yōu)勢。
文檔存儲MongoDB CouchDB文檔存儲一般用類似json的格式存儲,存儲的內(nèi)容是文檔型的。這樣也就有有機(jī)會對某些字段建立索引,實現(xiàn)關(guān)系數(shù)據(jù)庫的某些功能。
key-value存儲Tokyo Cabinet / Tyrant Berkeley DB MemcacheDB Redis可以通過key快速查詢到其value。一般來說,存儲不管value的格式,照單全收。(Redis包含了其他功能)
圖存儲Neo4J FlockDB圖形關(guān)系的最佳存儲。使用傳統(tǒng)關(guān)系數(shù)據(jù)庫來解決的話性能低下,而且設(shè)計使用不方便。
對象存儲db4o Versant通過類似面向?qū)ο笳Z言的語法操作數(shù)據(jù)庫,通過對象的方式存取數(shù)據(jù)。
xml數(shù)據(jù)庫Berkeley DB XMLBaseX高效的存儲XML數(shù)據(jù),并支持XML的內(nèi)部查詢語法,比如XQuery,Xpath。

二:MongoDB

MongoDB 是由C++語言編寫的,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)。

在高負(fù)載的情況下,添加更多的節(jié)點,可以保證服務(wù)器性能。

MongoDB 旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案。

MongoDB 將數(shù)據(jù)存儲為一個文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成。MongoDB 文檔類似于 JSON 對象。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組。

適用場景

1.數(shù)據(jù)緩存

2.JSON格式的數(shù)據(jù)

3.高伸縮性場景

4.弱事務(wù)類型業(yè)務(wù)

Mongodb更多適合于大數(shù)據(jù)量,高并發(fā),弱事務(wù)的互聯(lián)網(wǎng)應(yīng)用,其內(nèi)置的水平擴(kuò)展機(jī)制提供了從幾百萬到十億級別的數(shù)據(jù)處理能力,可以很好的滿足Web2.0和移動互聯(lián)網(wǎng)應(yīng)用的數(shù)據(jù)存儲要求。

應(yīng)用情況

版本說明

比如:3.1.0 第二個數(shù)是奇數(shù)為測試版,偶數(shù)為穩(wěn)定版。

Linux下安裝

創(chuàng)建目錄

mkdir mongodb

下載

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz

解壓

tar -zxvf mongodb-linux-x86_64-4.0.0.tgz

查看路徑

[root@ZhuJi mongodb-linux-x86_64-4.0.0]# pwd /usr/local/mongodb/mongodb-linux-x86_64-4.0.0

MongoDB 的可執(zhí)行文件位于 bin 目錄下,所以可以將其添加到 PATH 路徑中:

注意export命令只對此次會話有效。

export PATH=/usr/local/mongodb/mongodb-linux-x86_64-4.0.0/bin:$PATH

創(chuàng)建數(shù)據(jù)庫目錄

MongoDB的數(shù)據(jù)存儲在data目錄的db目錄下,但是這個目錄在安裝過程不會自動創(chuàng)建,所以你需要手動創(chuàng)建data目錄,并在data目錄中創(chuàng)建db目錄。

mkdir data

創(chuàng)建日志目錄

mkdir log

啟動程序:mongod命令

mongod --dbpath data --logpath log/mongod.log -logappend --fork

你也可以把啟動命令寫入start.sh文件

echo "mongod --dbpath data --logpath log/mongod.log -logappend --fork" >> start.sh

登錄數(shù)據(jù)庫

mongo

示例:

$ ./mongo MongoDB shell version: 3.0.6 connecting to: test >

小結(jié)

創(chuàng)建文件夾:data,用來存儲數(shù)據(jù)庫的數(shù)據(jù)文件。
創(chuàng)建文件夾:log,用來存儲數(shù)據(jù)庫的日志文件。
創(chuàng)建文件夾:bin,用來存儲數(shù)據(jù)庫的可執(zhí)行文件。
創(chuàng)建文件夾:conf,用來存儲數(shù)據(jù)庫的配置文件。

三:概念

MongoDB概念解析

不管我們學(xué)習(xí)什么數(shù)據(jù)庫都應(yīng)該學(xué)習(xí)其中的基礎(chǔ)概念,在mongodb中基本的概念是文檔、集合、數(shù)據(jù)庫,下面我們挨個介紹。

下表將幫助您更容易理解Mongo中的一些概念:

SQL術(shù)語/概念MongoDB術(shù)語/概念解釋/說明
databasedatabase數(shù)據(jù)庫
tablecollection數(shù)據(jù)庫表/集合
rowdocument數(shù)據(jù)記錄行/文檔
columnfield數(shù)據(jù)字段/域
indexindex索引
table joins表連接,MongoDB不支持
primary keyprimary key主鍵,MongoDB自動將_id字段設(shè)置為主鍵

MongoDB 數(shù)據(jù)類型

下表為MongoDB中常用的幾種數(shù)據(jù)類型。

數(shù)據(jù)類型描述
String字符串。存儲數(shù)據(jù)常用的數(shù)據(jù)類型。在 MongoDB 中,UTF-8 編碼的字符串才是合法的。
Integer整型數(shù)值。用于存儲數(shù)值。根據(jù)你所采用的服務(wù)器,可分為 32 位或 64 位。
Boolean布爾值。用于存儲布爾值(真/假)。
Double雙精度浮點值。用于存儲浮點值。
Min/Max keys將一個值與 BSON(二進(jìn)制的 JSON)元素的最低值和最高值相對比。
Array用于將數(shù)組或列表或多個值存儲為一個鍵。
Timestamp時間戳。記錄文檔修改或添加的具體時間。
Object用于內(nèi)嵌文檔。
Null用于創(chuàng)建空值。
Symbol符號。該數(shù)據(jù)類型基本上等同于字符串類型,但不同的是,它一般用于采用特殊符號類型的語言。
Date日期時間。用 UNIX 時間格式來存儲當(dāng)前日期或時間。你可以指定自己的日期時間:創(chuàng)建 Date 對象,傳入年月日信息。
Object ID對象 ID。用于創(chuàng)建文檔的 ID。
Binary Data二進(jìn)制數(shù)據(jù)。用于存儲二進(jìn)制數(shù)據(jù)。
Code代碼類型。用于在文檔中存儲 JavaScript 代碼。
Regular expression正則表達(dá)式類型。用于存儲正則表達(dá)式。

四:命令

數(shù)據(jù)庫命令

"show dbs" 命令可以顯示所有數(shù)據(jù)的列表。

執(zhí)行 "db" 命令可以顯示當(dāng)前數(shù)據(jù)庫對象或集合。

運行"use"命令,可以連接到一個指定的數(shù)據(jù)庫。

> show dbs; admin 0.000GB config 0.000GB local 0.000GB > db test > use local switched to db local > db local >

有一些數(shù)據(jù)庫名是保留的,可以直接訪問這些有特殊作用的數(shù)據(jù)庫。

  • admin: 從權(quán)限的角度來看,這是"root"數(shù)據(jù)庫。要是將一個用戶添加到這個數(shù)據(jù)庫,這個用戶自動繼承所有數(shù)據(jù)庫的權(quán)限。一些特定的服務(wù)器端命令也只能從這個數(shù)據(jù)庫運行,比如列出所有的數(shù)據(jù)庫或者關(guān)閉服務(wù)器。
  • local: 這個數(shù)據(jù)永遠(yuǎn)不會被復(fù)制,可以用來存儲限于本地單臺服務(wù)器的任意集合
  • config: 當(dāng)Mongo用于分片設(shè)置時,config數(shù)據(jù)庫在內(nèi)部使用,用于保存分片的相關(guān)信息。

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

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

use demo

插入一條數(shù)據(jù)

db.demo.insert({"name":"菜鳥先飛"})

展示數(shù)據(jù)庫

show dbs

MongoDB 中默認(rèn)的數(shù)據(jù)庫為 test,如果你沒有創(chuàng)建新的數(shù)據(jù)庫,集合將存放在 test 數(shù)據(jù)庫中。

刪除數(shù)據(jù)庫

MongoDB 刪除數(shù)據(jù)庫的語法格式如下:

db.dropDatabase()

刪除當(dāng)前數(shù)據(jù)庫,默認(rèn)為 test,你可以使用 db 命令查看當(dāng)前數(shù)據(jù)庫名。

刪除集合

集合刪除語法格式如下:

db.collection.drop()

實例

> show collections demo > db.demo.drop() true > show collections

創(chuàng)建集合

語法格式:

db.createCollection(name, options)

參數(shù)說明:

  • name: 要創(chuàng)建的集合名稱
  • options: 可選參數(shù), 指定有關(guān)內(nèi)存大小及索引的選項

options 可以是如下參數(shù):

字段類型描述
capped布爾(可選)如果為 true,則創(chuàng)建固定集合。固定集合是指有著固定大小的集合,當(dāng)達(dá)到最大值時,它會自動覆蓋最早的文檔。 當(dāng)該值為 true 時,必須指定 size 參數(shù)。
autoIndexId布爾(可選)如為 true,自動在 _id 字段創(chuàng)建索引。默認(rèn)為 false。
size數(shù)值(可選)為固定集合指定一個最大值(以字節(jié)計)。 如果 capped 為 true,也需要指定該字段。
max數(shù)值(可選)指定固定集合中包含文檔的最大數(shù)量。

在插入文檔時,MongoDB 首先檢查固定集合的 size 字段,然后檢查 max 字段。

實例

不帶參

db.createCollection("runoob")

帶參

db.createCollection("mycol", {capped : true, autoIndexId : true, size : 6142800, max : 10000})

在 MongoDB 中,你不需要創(chuàng)建集合。當(dāng)你插入一些文檔時,MongoDB 會自動創(chuàng)建集合。

db.mycol2.insert({"name" : "菜鳥教程"})

查看已有集合

show collections

或者

show tables

插入文檔

MongoDB 使用 insert() 或 save() 方法向集合中插入文檔,語法如下:

db.COLLECTION_NAME.insert(document)

實例

以下文檔可以存儲在 MongoDB 的 runoob 數(shù)據(jù)庫 的 col 集合中:

db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一個 Nosql 數(shù)據(jù)庫',by: '菜鳥教程',url: 'http://www.runoob.com',tags: ['mongodb', 'database', 'NoSQL'],likes: 100 })

以上實例中 col 是我們的集合名,如果該集合不在該數(shù)據(jù)庫中, MongoDB 會自動創(chuàng)建該集合并插入文檔。

查看已插入文檔:

db.col.find()

打印

{ "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 數(shù)據(jù)庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }

我們也可以將數(shù)據(jù)定義為一個變量,如下所示:

document=({title: 'MongoDB 教程', description: 'MongoDB 是一個 Nosql 數(shù)據(jù)庫',by: '教程',url: 'http://www.runoob.com',tags: ['mongodb', 'database', 'NoSQL'],likes: 100 });

執(zhí)行插入操作:

db.col.insert(document)

更新文檔

update() 方法

update() 方法用于更新已存在的文檔。語法格式如下:

db.collection.update(<query>,<update>,{upsert: <boolean>,multi: <boolean>,writeConcern: <document>} )

參數(shù)說明:

  • query : update的查詢條件,類似sql update查詢內(nèi)where后面的。
  • update : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內(nèi)set后面的
  • upsert : 可選,這個參數(shù)的意思是,如果不存在update的記錄,是否插入objNew,true為插入,默認(rèn)是false,不插入。
  • multi : 可選,mongodb 默認(rèn)是false,只更新找到的第一條記錄,如果這個參數(shù)為true,就把按條件查出來多條記錄全部更新。
  • writeConcern :可選,拋出異常的級別。

實例

我們在集合 col 中插入如下數(shù)據(jù):

db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一個 Nosql 數(shù)據(jù)庫',by: '教程',url: 'http://www.runoob.com',tags: ['mongodb', 'database', 'NoSQL'],likes: 100 })

接著我們通過 update() 方法來更新標(biāo)題(title):

db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})

以上語句只會修改第一條發(fā)現(xiàn)的文檔,如果你要修改多條相同的文檔,則需要設(shè)置 multi 參數(shù)為 true。

db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})

更多實例

只更新第一條記錄:

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 );

在3.2版本開始,MongoDB提供以下更新集合文檔的方法:

  • db.collection.updateOne() 向指定集合更新單個文檔
  • db.collection.updateMany() 向指定集合更新多個文檔

save() 方法

save() 方法通過傳入的文檔來替換已有文檔。語法格式如下:

db.collection.save(<document>,{writeConcern: <document>} )

參數(shù)說明:

  • document : 文檔數(shù)據(jù)。
  • writeConcern :可選,拋出異常的級別。

實例

以下實例中我們替換了 _id 為 56064f89ade2f21f36b03136 的文檔數(shù)據(jù):

db.col.save({"_id" : ObjectId("5b4df2a53e3e9f9874019902"),"title" : "MongoDB","description" : "MongoDB 是一個 Nosql 數(shù)據(jù)庫","by" : "Runoob","url" : "http://www.runoob.com","tags" : ["mongodb","NoSQL"],"likes" : 110 })

拋出異常的級別

  • WriteConcern.NONE:沒有異常拋出
  • WriteConcern.NORMAL:僅拋出網(wǎng)絡(luò)錯誤異常,沒有服務(wù)器錯誤異常
  • WriteConcern.SAFE:拋出網(wǎng)絡(luò)錯誤異常、服務(wù)器錯誤異常;并等待服務(wù)器完成寫操作。
  • WriteConcern.MAJORITY: 拋出網(wǎng)絡(luò)錯誤異常、服務(wù)器錯誤異常;并等待一個主服務(wù)器完成寫操作。
  • WriteConcern.FSYNC_SAFE: 拋出網(wǎng)絡(luò)錯誤異常、服務(wù)器錯誤異常;寫操作等待服務(wù)器將數(shù)據(jù)刷新到磁盤。
  • WriteConcern.JOURNAL_SAFE:拋出網(wǎng)絡(luò)錯誤異常、服務(wù)器錯誤異常;寫操作等待服務(wù)器提交到磁盤的日志文件。
  • WriteConcern.REPLICAS_SAFE:拋出網(wǎng)絡(luò)錯誤異常、服務(wù)器錯誤異常;等待至少2臺服務(wù)器完成寫操作。

刪除文檔

語法

remove() 方法的基本語法格式如下所示:

db.collection.remove(<query>,<justOne> )

如果你的 MongoDB 是 2.6 版本以后的,語法格式如下:

db.collection.remove(<query>,{justOne: <boolean>,writeConcern: <document>} )

參數(shù)說明:

  • query :(可選)刪除的文檔的條件。
  • justOne : (可選)如果設(shè)為 true 或 1,則只刪除一個文檔。
  • writeConcern :(可選)拋出異常的級別。

實例

以下文檔我們執(zhí)行兩次插入操作:

db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一個 Nosql 數(shù)據(jù)庫',by: '菜鳥教程',url: 'http://www.runoob.com',tags: ['mongodb', 'database', 'NoSQL'],likes: 100 })

使用 find() 函數(shù)查詢數(shù)據(jù):

db.col.find()

接下來我們移除 title 為 'MongoDB 教程' 的文檔:

db.col.remove({'title':'MongoDB 教程'})

如果你想刪除所有數(shù)據(jù),可以使用以下方式(類似常規(guī) SQL 的 truncate 命令):

db.col.remove({})

推薦使用delete()

remove() 方法已經(jīng)過時了,現(xiàn)在官方推薦使用 deleteOne() 和 deleteMany() 方法。

如刪除集合下全部文檔:

db.col.deleteMany({})

刪除 status 等于 A 的全部文檔:

db.col.deleteMany({ status : "A" })

刪除 status 等于 D 的一個文檔:

db.col.deleteOne( { status: "D" } )

查詢文檔

MongoDB 查詢文檔使用 find() 方法。

find() 方法以非結(jié)構(gòu)化的方式來顯示所有文檔。

語法

MongoDB 查詢數(shù)據(jù)的語法格式如下:

db.collection.find(query, projection)
  • query :可選,使用查詢操作符指定查詢條件
  • projection :可選,使用投影操作符指定返回的鍵。查詢時返回文檔中所有鍵值, 只需省略該參數(shù)即可(默認(rèn)省略)。

如果你需要以易讀的方式來讀取數(shù)據(jù),可以使用 pretty() 方法,語法格式如下:

db.col.find().pretty()

pretty() 方法以格式化的方式來顯示所有文檔。

實例

以下實例我們查詢了集合 col 中的數(shù)據(jù):

db.col.find().pretty() {"_id" : ObjectId("56063f17ade2f21f36b03133"),"title" : "MongoDB 教程","description" : "MongoDB 是一個 Nosql 數(shù)據(jù)庫","by" : "教程","url" : "http://www.runoob.com","tags" : ["mongodb","database","NoSQL"],"likes" : 100 }

除了 find() 方法之外,還有一個 findOne() 方法,它只返回一個文檔。

MongoDB 與 RDBMS Where 語句比較

如果你熟悉常規(guī)的 SQL 數(shù)據(jù),通過下表可以更好的理解 MongoDB 的條件語句查詢:

操作格式范例RDBMS中的類似語句
等于{<key>:<value>}db.col.find({"by":"菜鳥教程"}).pretty()where by = '菜鳥教程'
小于{<key>:{$lt:<value>}}db.col.find({"likes":{$lt:50}}).pretty()where likes < 50
小于或等于{<key>:{$lte:<value>}}db.col.find({"likes":{$lte:50}}).pretty()where likes <= 50
大于{<key>:{$gt:<value>}}db.col.find({"likes":{$gt:50}}).pretty()where likes > 50
大于或等于{<key>:{$gte:<value>}}db.col.find({"likes":{$gte:50}}).pretty()where likes >= 50
不等于{<key>:{$ne:<value>}}db.col.find({"likes":{$ne:50}}).pretty()where likes != 50

AND 條件

MongoDB 的 find() 方法可以傳入多個鍵(key),每個鍵(key)以逗號隔開,即常規(guī) SQL 的 AND 條件。

語法格式如下:

db.col.find({key1:value1, key2:value2}).pretty()

類似于 WHERE 語句:WHERE by='教程' AND title='MongoDB 教程'

OR 條件

MongoDB OR 條件語句使用了關(guān)鍵字 $or,語法格式如下:

db.col.find({$or: [{key1: value1}, {key2:value2}]} ).pretty()

實例

以下實例中,我們演示了查詢鍵 by 值為 教程 或鍵 title 值為 MongoDB 教程 的文檔。

db.col.find({$or:[{"by":"教程"},{"title": "MongoDB 教程"}]}).pretty()

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

以下實例演示了 AND 和 OR 聯(lián)合使用,類似常規(guī) SQL 語句為: 'where likes>50 AND (by = '教程' OR title = 'MongoDB 教程')'

db.col.find({"likes": {$gt:50}, $or: [{"by": "教程"},{"title": "MongoDB 教程"}]}).pretty()

projection 參數(shù)的使用方法

db.collection.find(query, projection)

若不指定 projection,則默認(rèn)返回所有鍵,指定 projection 格式如下,有兩種模式

db.collection.find(query, {title: 1, by: 1}) // inclusion模式 指定返回的鍵,不返回其他鍵 db.collection.find(query, {title: 0, by: 0}) // exclusion模式 指定不返回的鍵,返回其他鍵

_id 鍵默認(rèn)返回,需要主動指定 _id:0 才會隱藏

實例

db.col.find({"likes": {$gt:50}}, {_id:0}).pretty()

返回沒有_id的結(jié)果:

{"title" : "MongoDB 教程","description" : "MongoDB 是一個 Nosql 數(shù)據(jù)庫","by" : "教程","url" : "http://www.runoob.com","tags" : ["mongodb","database","NoSQL"],"likes" : 100 }

兩種模式不可混用(因為這樣的話無法推斷其他鍵是否應(yīng)返回)

db.collection.find(query, {title: 1, by: 0}) // 錯誤

只能全1或全0,除了在inclusion模式時可以指定_id為0

db.collection.find(query, {_id:0, title: 1, by: 1}) // 正確

條件操作符

描述

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

在本章節(jié)中,我們將討論如何在MongoDB中使用條件操作符。

MongoDB中條件操作符有:

  • (>) 大于 - $gt
  • (<) 小于 - $lt
  • (>=) 大于等于 - $gte
  • (<= ) 小于等于 - $lte

(>) 大于操作符 - $gt

如果你想獲取 "col" 集合中 "likes" 大于 100 的數(shù)據(jù),你可以使用以下命令:

db.col.find({"likes" : {$gt : 100}})

類似于SQL語句:

Select * from col where likes > 100;

(<) 和 (>) 查詢 - $lt 和 $gt

如果你想獲取"col"集合中 "likes" 大于100,小于 200 的數(shù)據(jù),你可以使用以下命令:

db.col.find({likes : {$lt :200, $gt : 100}})

類似于SQL語句:

Select * from col where likes>100 AND likes<200;

$type 操作符

MongoDB 中可以使用的類型如下表所示:

類型數(shù)字備注
Double1
String2
Object3
Array4
Binary data5
Undefined6已廢棄。
Object id7
Boolean8
Date9
Null10
Regular Expression11
JavaScript13
Symbol14
JavaScript (with scope)15
32-bit integer16
Timestamp17
64-bit integer18
Min key255Query with -1.
Max key127

實例

如果想獲取 "col" 集合中 title 為 String 的數(shù)據(jù),你可以使用以下命令:

db.col.find({"title" : {$type : 2}})

Limit() 方法

如果你需要在MongoDB中讀取指定數(shù)量的數(shù)據(jù)記錄,可以使用MongoDB的Limit方法,limit()方法接受一個數(shù)字參數(shù),該參數(shù)指定從MongoDB中讀取的記錄條數(shù)。

語法

limit()方法基本語法如下所示:

db.COLLECTION_NAME.find().limit(NUMBER)

Skip() 方法

我們除了可以使用limit()方法來讀取指定數(shù)量的數(shù)據(jù)外,還可以使用skip()方法來跳過指定數(shù)量的數(shù)據(jù),skip方法同樣接受一個數(shù)字參數(shù)作為跳過的記錄條數(shù)。

語法

skip() 方法腳本語法格式如下:

db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

實例**

以下實例只會顯示第二條文檔數(shù)據(jù)

db.col.find({},{"title":1,_id:0}).limit(1).skip(1)

排序

sort() 方法

在 MongoDB 中使用 sort() 方法對數(shù)據(jù)進(jìn)行排序,sort() 方法可以通過參數(shù)指定排序的字段,并使用 1 和 -1 來指定排序的方式,其中 1 為升序排列,而 -1 是用于降序排列。

語法

sort()方法基本語法如下所示:

>db.COLLECTION_NAME.find().sort({KEY:1})

索引

索引通常能夠極大的提高查詢的效率,如果沒有索引,MongoDB在讀取數(shù)據(jù)時必須掃描集合中的每個文件并選取那些符合查詢條件的記錄。

這種掃描全集合的查詢效率是非常低的,特別在處理大量的數(shù)據(jù)時,查詢可以要花費幾十秒甚至幾分鐘,這對網(wǎng)站的性能是非常致命的。

索引是特殊的數(shù)據(jù)結(jié)構(gòu),索引存儲在一個易于遍歷讀取的數(shù)據(jù)集合中,索引是對數(shù)據(jù)庫表中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu)

createIndex() 方法

MongoDB使用 createIndex() 方法來創(chuàng)建索引。

注意在 3.0.0 版本前創(chuàng)建索引方法為 db.collection.ensureIndex(),之后的版本使用了 db.collection.createIndex() 方法,ensureIndex() 還能用,但只是 createIndex() 的別名。

語法

createIndex()方法基本語法格式如下所示:

db.collection.createIndex(keys, options)

語法中 Key 值為你要創(chuàng)建的索引字段,1 為指定按升序創(chuàng)建索引,如果你想按降序來創(chuàng)建索引指定為 -1 即可。

實例

db.col.createIndex({"title":1})

createIndex() 方法中你也可以設(shè)置使用多個字段創(chuàng)建索引(關(guān)系型數(shù)據(jù)庫中稱作復(fù)合索引)。

db.col.createIndex({"title":1,"description":-1})

createIndex() 接收可選參數(shù),可選參數(shù)列表如下:

ParameterTypeDescription
backgroundBoolean建索引過程會阻塞其它數(shù)據(jù)庫操作,background可指定以后臺方式創(chuàng)建索引,即增加 "background" 可選參數(shù)。 "background" 默認(rèn)值為false
uniqueBoolean建立的索引是否唯一。指定為true創(chuàng)建唯一索引。默認(rèn)值為false.
namestring索引的名稱。如果未指定,MongoDB的通過連接索引的字段名和排序順序生成一個索引名稱。
dropDupsBoolean在建立唯一索引時是否刪除重復(fù)記錄,指定 true 創(chuàng)建唯一索引。默認(rèn)值為 false.
sparseBoolean對文檔中不存在的字段數(shù)據(jù)不啟用索引;這個參數(shù)需要特別注意,如果設(shè)置為true的話,在索引字段中不會查詢出不包含對應(yīng)字段的文檔.。默認(rèn)值為 false.
expireAfterSecondsinteger指定一個以秒為單位的數(shù)值,完成 TTL設(shè)定,設(shè)定集合的生存時間。
vindex version索引的版本號。默認(rèn)的索引版本取決于mongod創(chuàng)建索引時運行的版本。
weightsdocument索引權(quán)重值,數(shù)值在 1 到 99,999 之間,表示該索引相對于其他索引字段的得分權(quán)重。
default_languagestring對于文本索引,該參數(shù)決定了停用詞及詞干和詞器的規(guī)則的列表。 默認(rèn)為英語
language_overridestring對于文本索引,該參數(shù)指定了包含在文檔中的字段名,語言覆蓋默認(rèn)的language,默認(rèn)值為 language.

實例

在后臺創(chuàng)建索引:

db.values.createIndex({open: 1, close: 1}, {background: true})

通過在創(chuàng)建索引時加 background:true 的選項,讓創(chuàng)建工作在后臺執(zhí)行

聚合

MongoDB中聚合(aggregate)主要用于處理數(shù)據(jù)(諸如統(tǒng)計平均值,求和等),并返回計算后的數(shù)據(jù)結(jié)果。有點類似sql語句中的 count(*)。

aggregate() 方法

MongoDB中聚合的方法使用aggregate()。

語法

aggregate() 方法的基本語法格式如下所示:

db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)

管道的概念

管道在Unix和Linux中一般用于將當(dāng)前命令的輸出結(jié)果作為下一個命令的參數(shù)。

MongoDB的聚合管道將MongoDB文檔在一個管道處理完畢后將結(jié)果傳遞給下一個管道處理。管道操作是可以重復(fù)的。

表達(dá)式:處理輸入文檔并輸出。表達(dá)式是無狀態(tài)的,只能用于計算當(dāng)前聚合管道的文檔,不能處理其它的文檔。

這里我們介紹一下聚合框架中常用的幾個操作:

  • $project:修改輸入文檔的結(jié)構(gòu)。可以用來重命名、增加或刪除域,也可以用于創(chuàng)建計算結(jié)果以及嵌套文檔。
  • $match:用于過濾數(shù)據(jù),只輸出符合條件的文檔。$match使用MongoDB的標(biāo)準(zhǔn)查詢操作。
  • $limit:用來限制MongoDB聚合管道返回的文檔數(shù)。
  • $skip:在聚合管道中跳過指定數(shù)量的文檔,并返回余下的文檔。
  • $unwind:將文檔中的某一個數(shù)組類型字段拆分成多條,每條包含數(shù)組中的一個值。
  • $group:將集合中的文檔分組,可用于統(tǒng)計結(jié)果。
  • $sort:將輸入文檔排序后輸出。
  • $geoNear:輸出接近某一地理位置的有序文檔。

管道操作符實例

1、$project實例

db.article.aggregate({ $project : {title : 1 ,author : 1 ,}});

這樣的話結(jié)果中就只還有_id,tilte和author三個字段了,默認(rèn)情況下_id字段是被包含的,如果要想不包含_id話可以這樣:

db.article.aggregate({ $project : {_id : 0 ,title : 1 ,author : 1}});

2.$match實例

db.articles.aggregate( [{ $match : { score : { $gt : 70, $lte : 90 } } },{ $group: { _id: null, count: { $sum: 1 } } }] );

$match用于獲取分?jǐn)?shù)大于70小于或等于90記錄,然后將符合條件的記錄送到下一階段$group管道操作符進(jìn)行處理。

3.$skip實例

db.article.aggregate({ $skip : 5 });

經(jīng)過$skip管道操作符處理后,前五個文檔被"過濾"掉。

數(shù)據(jù)備份

在Mongodb中我們使用mongodump命令來備份MongoDB數(shù)據(jù)。該命令可以導(dǎo)出所有數(shù)據(jù)到指定目錄中。

mongodump命令可以通過參數(shù)指定導(dǎo)出的數(shù)據(jù)量級轉(zhuǎn)存的服務(wù)器。

語法

mongodump命令腳本語法如下:

mongodump -h dbhost -d dbname -o dbdirectory
  • -h:

    MongDB所在服務(wù)器地址,例如:127.0.0.1,當(dāng)然也可以指定端口號:127.0.0.1:27017

  • -d:

    需要備份的數(shù)據(jù)庫實例,例如:test

  • -o:

    備份的數(shù)據(jù)存放位置,例如:c:\data\dump,當(dāng)然該目錄需要提前建立,在備份完成后,系統(tǒng)自動在dump目錄下建立一個test目錄,這個目錄里面存放該數(shù)據(jù)庫實例的備份數(shù)據(jù)。

實例

在本地使用 27017 啟動你的mongod服務(wù)。打開命令提示符窗口,進(jìn)入MongoDB安裝目錄的bin目錄輸入命令mongodump:

mongodump

數(shù)據(jù)恢復(fù)

mongodb使用 mongorestore 命令來恢復(fù)備份的數(shù)據(jù)。

語法

mongorestore命令腳本語法如下:

mongorestore -h <hostname><:port> -d dbname <path>
  • --host <:port>, -h <:port>:

    MongoDB所在服務(wù)器地址,默認(rèn)為: localhost:27017

  • --db , -d :

    需要恢復(fù)的數(shù)據(jù)庫實例,例如:test,當(dāng)然這個名稱也可以和備份時候的不一樣,比如test2

  • --drop:

    恢復(fù)的時候,先刪除當(dāng)前數(shù)據(jù),然后恢復(fù)備份的數(shù)據(jù)。就是說,恢復(fù)后,備份后添加修改的數(shù)據(jù)都會被刪除,慎用哦!

  • <path>:

    mongorestore 最后的一個參數(shù),設(shè)置備份數(shù)據(jù)所在位置,例如:c:\data\dump\test。

    你不能同時指定 <path>和 --dir 選項,--dir也可以設(shè)置備份目錄。

  • --dir:

    指定備份的目錄

    你不能同時指定<path>和 --dir 選項。

接下來我們執(zhí)行以下命令:

mongorestore

監(jiān)控

在你已經(jīng)安裝部署并允許MongoDB服務(wù)后,你必須要了解MongoDB的運行情況,并查看MongoDB的性能。這樣在大流量得情況下可以很好的應(yīng)對并保證MongoDB正常運作。

MongoDB中提供了mongostat 和 mongotop 兩個命令來監(jiān)控MongoDB的運行情況。

mongostat 命令

mongostat是mongodb自帶的狀態(tài)檢測工具,在命令行下使用。它會間隔固定時間獲取mongodb的當(dāng)前運行狀態(tài),并輸出。如果你發(fā)現(xiàn)數(shù)據(jù)庫突然變慢或者有其他問題的話,你第一手的操作就考慮采用mongostat來查看mongo的狀態(tài)。

啟動你的Mongod服務(wù),進(jìn)入到你安裝的MongoDB目錄下的bin目錄, 然后輸入mongostat命令,如下所示:

mongostat

mongotop 命令

mongotop也是mongodb下的一個內(nèi)置工具,mongotop提供了一個方法,用來跟蹤一個MongoDB的實例,查看哪些大量的時間花費在讀取和寫入數(shù)據(jù)。 mongotop提供每個集合的水平的統(tǒng)計數(shù)據(jù)。默認(rèn)情況下,mongotop返回值的每一秒。

啟動你的Mongod服務(wù),進(jìn)入到你安裝的MongoDB目錄下的bin目錄, 然后輸入mongotop命令,如下所示:

mongotop

輸出結(jié)果字段說明:

  • ns:

    包含數(shù)據(jù)庫命名空間,后者結(jié)合了數(shù)據(jù)庫名稱和集合。

  • db:

    包含數(shù)據(jù)庫的名稱。名為 . 的數(shù)據(jù)庫針對全局鎖定,而非特定數(shù)據(jù)庫。

  • total:

    mongod花費的時間工作在這個命名空間提供總額。

  • read:

    提供了大量的時間,這mongod花費在執(zhí)行讀操作,在此命名空間。

  • write:

    提供這個命名空間進(jìn)行寫操作,這mongod花了大量的時間。

轉(zhuǎn)載于:https://www.cnblogs.com/yueshutong/p/11491106.html

總結(jié)

以上是生活随笔為你收集整理的MongoDB非关系型数据库开发手册的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

九九热在线观看 | 精品欧美一区二区在线观看 | 香蕉网站在线观看 | 福利视频网址 | 国产精品久久久久久久久免费 | 96久久久 | 国产一级久久久 | 日本久久视频 | 欧美日韩国产精品一区 | 99精品乱码国产在线观看 | 久久天堂亚洲 | 欧美综合色 | 国产91粉嫩白浆在线观看 | 热久久免费国产视频 | 91九色蝌蚪| 国产精品视频免费在线观看 | 夜夜躁狠狠躁日日躁视频黑人 | 2024国产精品视频 | 日b视频在线观看网址 | 超碰免费公开 | 成人精品一区二区三区中文字幕 | 美女久久 | 久久久亚洲影院 | 97香蕉久久国产在线观看 | 国产精品成久久久久三级 | 香蕉视频国产在线观看 | 一级特黄av | 美女网站在线免费观看 | 9999亚洲| 99国内精品久久久久久久 | 久草在 | 麻豆视频观看 | 免费日韩一区二区三区 | 日日天天干 | 免费人成在线观看网站 | 99久久精品免费看国产一区二区三区 | 毛片播放网站 | 91精品国产91 | 国产亚洲精品xxoo | 成人小视频免费在线观看 | 欧美二区视频 | 97电影网站 | 99久久综合国产精品二区 | 黄色a级片在线观看 | 久久久久久久久久久国产精品 | 国产精品美女免费看 | 欧美亚洲久久 | 色香蕉在线视频 | 日韩欧美成人网 | 国产福利一区二区三区在线观看 | 9在线观看免费高清完整版在线观看明 | 国产精品毛片一区二区在线看 | 91精品夜夜 | 日韩精品免费一区二区在线观看 | 国产剧情一区 | 97偷拍在线视频 | 日韩免费中文 | 国产麻豆电影在线观看 | 久久综合九色综合97_ 久久久 | 波多野结衣在线观看一区二区三区 | 亚洲日本色| 色国产在线 | 国产韩国日本高清视频 | 国产成人不卡 | 国产短视频在线播放 | 国产精品精品国产色婷婷 | 美女久久久久久久 | 免费视频黄 | 亚洲精品国精品久久99热一 | 久久狠狠亚洲综合 | 日韩欧美在线中文字幕 | 久久综合久久伊人 | 在线观看91网站 | 欧美a视频在线观看 | 中文字幕在线观看视频一区 | 91九色在线视频观看 | 亚洲激情网站免费观看 | 丁香激情网 | 狠狠成人| 亚洲欧洲精品一区二区 | 黄色三级免费片 | 中文av网站 | 国产亚洲免费的视频看 | 亚洲高清不卡av | 成人国产精品一区二区 | 66av99精品福利视频在线 | 国产精品免费在线播放 | 五月婷婷色综合 | 国产视频在线免费 | 国产精品精品久久久久久 | 久久一区二区三区国产精品 | 免费看的黄色网 | 国产精品一区二区在线观看免费 | 亚洲天堂激情 | 日韩精品久久久免费观看夜色 | 久久国产片 | 天天爽夜夜爽精品视频婷婷 | 日韩大片在线 | 中文国产成人精品久久一 | 久久精品欧美 | 88av网站 | 日韩va欧美va亚洲va久久 | 丁香五婷 | 在线观看中文 | 日韩在线电影一区二区 | 97国产电影 | 亚洲 欧美 国产 va在线影院 | 久久久国产99久久国产一 | 亚洲精品国精品久久99热一 | 国产精品视频地址 | 日韩在线视频在线观看 | av片在线观看 | 亚洲网站在线看 | 在线成人中文字幕 | 四虎成人免费影院 | 国产一级二级视频 | 国模一区二区三区四区 | 中文字幕中文字幕 | 在线视频免费观看 | 亚洲少妇久久 | 国产成人免费网站 | 成人精品国产免费网站 | 中文字幕日韩无 | 久久伊人热 | 国产91亚洲精品 | 久草视频在线免费看 | av在线8| 99久精品| 精品久久久久久久 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 欧美一级片免费在线观看 | 99色在线播放 | 91色在线观看视频 | 国产v在线播放 | 亚洲h在线播放在线观看h | 丁香在线观看完整电影视频 | 久久调教视频 | 国产三级视频 | 久久国产精品视频免费看 | 99久久99久久综合 | 色婷婷激情电影 | 成人在线观看网址 | 91在线精品视频 | 91成品视频| 精品一区中文字幕 | 日韩av成人免费看 | 玖玖在线精品 | 国产又粗又猛又爽又黄的视频免费 | 久久一区二区三区超碰国产精品 | 狠狠色丁香久久婷婷综 | 日韩午夜三级 | 日本不卡一区二区 | 2000xxx影视| 免费的黄色的网站 | 久久国语露脸国产精品电影 | 国产精品99精品 | 手机看片午夜 | 天天插天天操天天干 | 国产精品一区免费看8c0m | 欧美少妇的秘密 | 97超碰中文字幕 | 激情狠狠干 | 97视频在线免费 | 国产成人一区二区三区影院在线 | 在线观看精品一区 | 九九视频精品在线 | 中文字幕高清av | 欧美性极品xxxx做受 | 国产一区电影在线观看 | 国产视频一区在线播放 | 精品国产伦一区二区三区免费 | 亚洲涩涩涩涩涩涩 | 91av视频导航| 日韩中文字幕在线看 | 欧美婷婷综合 | 在线观看mv的中文字幕网站 | 欧美久久久久久久久久 | 91成人短视频在线观看 | 亚洲乱亚洲乱妇 | 中文字幕在线一区二区三区 | 久久久久久福利 | 国产97色 | 国产美女精品人人做人人爽 | 狠狠五月天 | 九九热av | 国产精品久久久av | 最新中文在线视频 | 日本精品一二区 | 亚洲不卡av一区二区三区 | www欧美xxxx | 丁香av | 美女久久视频 | 欧美成年性| 国产成人在线精品 | 特级西西444www大精品视频免费看 | 日韩mv欧美mv国产精品 | 国产乱码精品一区二区三区介绍 | 久久精品99国产国产精 | 麻豆成人在线观看 | 日韩电影在线观看一区二区三区 | 911久久香蕉国产线看观看 | 午夜视频在线观看一区二区三区 | 亚洲国产三级在线观看 | 国产国语在线 | 亚洲女同ⅹxx女同tv | 中文字幕亚洲不卡 | 精品国产自在精品国产精野外直播 | 十八岁免进欧美 | 日韩三级免费 | 国产精品大片免费观看 | 精品美女久久久久 | 久久九九网站 | 久久精品综合 | 人人爱天天操 | 天天操天天爽天天干 | 国产精品国产三级国产aⅴ入口 | 人人添人人澡人人澡人人人爽 | 精品专区一区二区 | 日韩午夜一级片 | 国产在线精 | 婷婷久久五月天 | 国产麻豆精品在线观看 | 青青河边草手机免费 | 91亚洲狠狠婷婷综合久久久 | 成人中文字幕在线 | 色天天中文| 亚洲国产日韩一区 | 国产黄色一级片在线 | 国内精品久久久久久久久久 | 精品 一区 在线 | 国内小视频在线观看 | 欧美日韩精品久久久 | 午夜性盈盈 | 在线亚洲观看 | 98精品国产自产在线观看 | 欧美黄色免费 | 亚洲激情免费 | 97视频一区 | 欧美一二三视频 | 精品成人a区在线观看 | 99久久国产免费看 | 久久精品一区八戒影视 | 99视频在线精品国自产拍免费观看 | 中文字幕在线播放av | 亚洲国产av精品毛片鲁大师 | 国产xx在线 | 国产成人福利在线 | 亚洲日本成人网 | 国产精品久久久久久久久久久久午夜 | 日韩精品一区二区在线观看视频 | 国产精品嫩草55av | 欧美乱大交 | 91传媒免费在线观看 | 亚洲一区二区黄色 | 曰韩精品 | 91大神dom调教在线观看 | 久久久精品综合 | 亚洲夜夜网 | 超碰在线日本 | 日韩欧美国产精品 | 国产精品 国产精品 | 亚洲午夜久久久久久久久 | 美女搞黄国产视频网站 | 日韩字幕| 99久久精品无免国产免费 | 日韩视频二区 | 伊人中文字幕在线 | 天天天天色射综合 | 亚洲高清国产视频 | 国产精品一区二区 91 | 九九在线国产视频 | 不卡av在线播放 | 中文字幕 国产视频 | 西西www4444大胆在线 | 久久久久一区 | 狠狠色丁香婷婷综合久小说久 | a级成人毛片 | 97日日碰人人模人人澡分享吧 | 午夜av在线播放 | 超碰日韩在线 | 亚洲天堂自拍视频 | 久久黄色美女 | 成人资源网 | 日本黄色免费在线观看 | 国产四虎影院 | 在线观看日韩中文字幕 | 九九精品毛片 | 成人在线黄色 | 午夜在线免费视频 | 亚洲精品视频在线观看免费 | 丁香六月激情 | 久久国产精品一国产精品 | 久久96国产精品久久99漫画 | 最新av在线网站 | 国产精品永久久久久久久www | 久久九九久久九九 | 国产精品久久久久久久久久久免费 | 亚洲精品久久久久久久蜜桃 | 亚洲欧美日韩精品久久奇米一区 | 国产成人一区二区三区免费看 | 亚洲国产中文字幕 | 日韩最新av在线 | 国产视频在线免费 | 国产精品毛片久久久久久久久久99999999 | www.xxxx欧美 | 日韩亚洲在线观看 | 高清有码中文字幕 | 久草香蕉在线 | 91精品国产自产在线观看 | 99热国产在线观看 | 免费观看性生交大片3 | 精品久久1 | 色吧av色av | 中文在线中文a | 九九亚洲精品 | 日韩精品一二三 | 免费av在 | 亚州五月| 亚洲春色奇米影视 | 午夜精品电影一区二区在线 | 久久久高清| 中文字幕中文字幕在线中文字幕三区 | 人人玩人人添人人 | 久久视频这里有久久精品视频11 | av.com在线| 黄色小说视频在线 | 久久99亚洲网美利坚合众国 | 日日骑| 超碰97中文 | 永久免费的av电影 | 97超视频免费观看 | 手机看国产毛片 | 有码一区二区三区 | 国产在线中文字幕 | 日本高清中文字幕有码在线 | 成年人网站免费观看 | 欧美美女视频在线观看 | 一区二区视频电影在线观看 | 成人免费视频免费观看 | 免费视频久久久久久久 | 免费麻豆网站 | 麻豆你懂的 | 在线播放 一区 | 伊人婷婷久久 | 在线观看av大片 | 青草视频在线 | 精品国模一区二区三区 | 亚洲精品视频在 | 久久天堂精品视频 | 99爱视频 | 亚洲精品国产精品国自产在线 | 五月婷婷六月丁香激情 | 色视频 在线 | 久久国产精品视频 | 91视频久久久久久 | 91日韩精品视频 | 国产免码va在线观看免费 | 中文字幕日韩一区二区三区不卡 | 在线观看日韩中文字幕 | 亚洲欧美国内爽妇网 | 中文字幕av专区 | 日韩精品一区二区三区丰满 | 国产精品婷婷午夜在线观看 | 国产精品久久免费看 | 国产午夜精品福利视频 | 欧美九九九 | 99r在线视频 | 狠狠色综合欧美激情 | 在线观看视频中文字幕 | 国产成人久久久77777 | 在线视频99 | 91精品中文字幕 | av中文字幕在线播放 | 奇米影视8888在线观看大全免费 | 91丨porny丨九色| 97国产大学生情侣酒店的特点 | 久久国产精品久久精品国产演员表 | 天天干天天操人体 | 色婷婷骚婷婷 | av三级在线免费观看 | 国产99在线 | 免费视频一级片 | 成人免费大片黄在线播放 | 久久精品国产亚洲精品 | 欧美极品xxxx| 国产色综合天天综合网 | 欧美日韩在线播放 | 国产精品视频99 | 欧美片一区二区三区 | 人人射人人射 | 国产在线播放一区 | 黄a网| 亚洲,国产成人av | www免费视频com| 91高清免费在线观看 | 亚洲 综合 国产 精品 | 麻豆成人精品 | 亚洲高清免费在线 | 欧美日韩国产免费视频 | 欧美日韩伦理在线 | 玖玖视频免费在线 | 黄色.com| 国产只有精品 | 日韩电影一区二区在线 | 久久这里只有精品视频99 | 国产一区精品在线观看 | 天天干夜夜操视频 | 蜜臀aⅴ国产精品久久久国产 | 久操免费视频 | 国产91勾搭技师精品 | 国产色视频网站2 | 99国产高清 | a久久免费视频 | 激情黄色一级片 | 成人免费看电影 | 成人视屏免费看 | 免费看的视频 | 狠狠狠狠狠狠天天爱 | 国产亚洲激情视频在线 | 亚洲色影爱久久精品 | 一本大道久久精品懂色aⅴ 五月婷社区 | 日韩三级免费观看 | 91视频免费观看 | 99精品欧美一区二区三区 | 久久麻豆视频 | 亚洲成色| 97超碰在线久草超碰在线观看 | 永久免费精品视频 | 国产91aaa| 蜜臀一区二区三区精品免费视频 | av成人黄色 | 综合国产在线观看 | 久久夜视频 | 99热国内精品 | 国产福利在线不卡 | 精品久久久精品 | 亚洲精品玖玖玖av在线看 | 色爽网站| 欧美极品一区二区三区 | 久草视频99 | 91福利小视频 | 懂色av一区二区在线播放 | 久久免费美女视频 | 最新国产精品久久精品 | 黄色成品视频 | 国产99re | 91自拍视频在线 | 欧美日韩在线观看一区 | 97在线观看免费高清完整版在线观看 | 成年人黄色免费看 | 丁香激情婷婷 | 国产一级片毛片 | 99在线观看免费视频精品观看 | 韩日成人av| 久久久伊人网 | 中文字幕视频 | 天堂在线一区二区 | 伊人五月在线 | 国产中文字幕一区二区 | 亚洲区另类春色综合小说 | 中文字幕亚洲欧美 | 天天看天天操 | 欧美日韩伦理一区 | 四虎成人精品在永久免费 | 少妇性bbb搡bbb爽爽爽欧美 | 中文字幕之中文字幕 | 国产精品18毛片一区二区 | 日韩免费视频网站 | 色视频在线 | 一区二区精品久久 | 国产精品欧美精品 | 国产91影院 | 成人黄视频 | 亚洲欧美精品在线 | 98超碰人人 | 91精品老司机久久一区啪 | 国产亚洲精品日韩在线tv黄 | 精久久久久 | 国产精品99蜜臀久久不卡二区 | 91精品少妇偷拍99 | 亚洲午夜剧场 | 亚洲视频免费视频 | 日韩午夜视频在线观看 | 免费成人结看片 | 狠狠久久| 日韩欧美精品一区二区三区经典 | 久久精品一二三 | 色综合久久99 | 日b视频国产 | 亚洲狠狠婷婷 | 亚洲国产日韩精品 | 91色欧美| 日韩精品一区二区三区第95 | 久久九九久久 | 色.www | 亚洲天堂精品 | 91视频中文字幕 | 免费中文字幕 | 欧美大荫蒂xxx | 久久精品99久久久久久 | 日韩激情小视频 | 黄色免费在线看 | 在线亚洲欧美日韩 | 天天摸天天操天天舔 | 成人免费观看视频网站 | 亚洲精品在线观看av | 黄色毛片在线 | 日韩精品一区二区三区免费观看视频 | 九九九九热精品免费视频点播观看 | 18女毛片| 97精品一区| 性色av免费在线观看 | 成人av.com| 91在线文字幕 | 久久大视频 | 精品女同一区二区三区在线观看 | av网址aaa| 香蕉精品在线观看 | 91精品国产91久久久久福利 | 成人小视频在线免费观看 | 国产伦理一区二区三区 | 国产96在线 | 国产一区二区免费 | 成人全视频免费观看在线看 | 精品国产一区二区三区在线 | 午夜在线日韩 | 韩国av免费 | 丁香花五月 | 国产美女被啪进深处喷白浆视频 | 日日爽日日操 | 婷婷色影院 | 欧美日韩不卡一区 | 国产精品高清在线观看 | 亚洲综合导航 | 国产精品爽爽久久久久久蜜臀 | 久久伦理电影 | av电影亚洲| 午夜在线看 | 久久精品三级 | 国产片免费在线观看视频 | 国产精品成人自拍 | 天天操 夜夜操 | 日韩一区二区三区观看 | 国产视频在线观看一区 | 91av中文 | 99九九99九九九视频精品 | 日韩欧美精品在线 | 在线观看国产一区 | 九九热在线播放 | 97超碰在线久草超碰在线观看 | 国产成人久久 | 狠狠干,狠狠操 | 日韩在线观看一区二区 | 国产午夜三级一二三区 | 日韩在线观看你懂的 | 性色av免费观看 | 看全黄大色黄大片 | 久久综合精品一区 | 亚洲成人国产 | 美女黄色网在线播放 | 天天干人人插 | 2024国产精品视频 | 国产精品 视频 | 四虎影院在线观看av | 国产欧美日韩一区 | 欧美日韩三级在线观看 | 亚洲情感电影大片 | 黄色福利网 | 中文字幕一区二区三区在线播放 | 免费看的毛片 | 亚洲成人欧美 | 91精品视频免费在线观看 | 国产剧情一区在线 | 九九在线免费视频 | 日韩av片无码一区二区不卡电影 | 天天草天天干天天 | 婷婷六月在线 | 国产91免费在线 | 黄色片免费在线 | 探花视频在线观看+在线播放 | 13日本xxxxxⅹxxx20 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 成年人免费电影在线观看 | 亚洲精品乱码久久久久久久久久 | 中文字幕在线观看完整版 | 久久婷婷开心 | 在线观看av免费 | 国产精国产精品 | 349k.cc看片app | 中文字幕在线视频免费播放 | 最新极品jizzhd欧美 | 久久精品国产成人精品 | 国产二区免费视频 | 亚洲视频一区二区三区在线观看 | 欧美精品久久久久 | 久久久久日本精品一区二区三区 | 在线电影91 | 国产特级毛片aaaaaaa高清 | 日本少妇视频 | 91久久久国产精品 | 日本爽妇网 | 美女性爽视频国产免费app | 天天射天天干天天 | 天天操天天干天天插 | av中文字幕网址 | 欧洲视频一区 | 91精品国产麻豆国产自产影视 | 婷婷六月在线 | 在线观看日韩 | 超碰在线人人 | 久草视频观看 | 国产黄色特级片 | x99av成人免费 | av成人免费| 激情久久久久久久久久久久久久久久 | 国产精品a久久久久 | 亚洲一区不卡视频 | 精品中文字幕视频 | 91看毛片 | 欧美大片www| 欧美成人免费在线 | 国产精品成人一区 | 久久久久99精品成人片三人毛片 | 久久免费一| 中文字幕久久精品亚洲乱码 | 亚洲片在线观看 | 国产在线精品观看 | 色综合天天视频在线观看 | 欧美国产91 | 毛片888| 日本亚洲国产 | 欧美 激情 国产 91 在线 | 超碰人人舔 | 日日射天天射 | 麻豆国产露脸在线观看 | 天天干夜夜爱 | 在线精品亚洲一区二区 | 97超碰人人澡人人爱 | 中文字幕在线看视频 | 99国产高清 | 亚洲国产无 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 91亚洲精品久久久 | 国产黄色片在线 | 日本久久久久久久久久 | 亚洲在线免费视频 | 激情在线免费视频 | 亚洲精品乱码久久久久久蜜桃不爽 | 免费看黄在线 | 国产精品久久久久久a | 日韩成人免费在线 | 国产亚洲精品成人av久久ww | 亚洲区另类春色综合小说 | 日日草天天干 | 青青草国产在线 | 婷婷丁香狠狠爱 | 欧美一级特黄aaaaaa大片在线观看 | 国产精品 日韩 | 成人黄色在线 | 午夜av电影院| 久久伊人五月天 | 久久伊人精品一区二区三区 | av超碰在线 | 国产在线中文 | 日本爱爱免费视频 | 丁香色天天 | 亚洲最新在线视频 | 在线亚洲观看 | 久久国产精品二国产精品中国洋人 | 亚洲人成免费 | 免费国产一区二区视频 | 探花视频在线版播放免费观看 | 免费在线观看的av网站 | 国产精品免费在线观看视频 | 久久久96| 一区二区三区免费网站 | 亚洲精品www久久久久久 | 久久香蕉一区 | 国产精品av在线 | 日韩免费中文 | 亚洲人毛片 | 俺要去色综合狠狠 | 国产精品99久久久久久久久 | 国产亚洲在线观看 | 一级黄色片在线播放 | 亚洲闷骚少妇在线观看网站 | 日韩激情av在线 | 波多野结衣在线播放视频 | 91片黄在线观看 | 91最新中文字幕 | 国产精品原创 | 男女全黄一级一级高潮免费看 | 美女激情影院 | 99视频网址| 久久艹精品 | 日韩在线观看中文 | 国产青青青 | 日本中文字幕高清 | 怡红院av久久久久久久 | 黄色福利网站 | 欧美性黑人 | 亚洲国产成人精品在线观看 | 天天艹天天爽 | 女人18精品一区二区三区 | 国产视频97 | 久插视频| 天天爱天天舔 | 91av在线免费看 | 欧美日韩亚洲第一 | 51久久成人国产精品麻豆 | 青青河边草观看完整版高清 | 99热这里有 | 欧美肥妇free| 午夜国产成人 | 91最新网址 | 97视频一区 | 久久成人黄色 | 色噜噜噜 | 欧美在线1 | 久草网站 | 黄色av电影一级片 | 精品久久久一区二区 | 日韩精品免费在线观看视频 | 伊人五月天婷婷 | 国产98色在线 | 日韩 | 成人影片在线播放 | 国产一级淫片免费看 | 久久综合狠狠 | 六月丁香综合网 | 国产精品99久久久久人中文网介绍 | 日韩av一区二区在线播放 | 91精品一区在线观看 | 四虎影视成人永久免费观看亚洲欧美 | 欧美成人影音 | 日韩肉感妇bbwbbwbbw | 亚洲情感电影大片 | 91精品视频一区二区三区 | av字幕在线 | 久久精品久久精品久久精品 | 久久高清视频免费 | 狂野欧美激情性xxxx欧美 | 国产精品成人久久 | 免费av视屏| 国产精品美女毛片真酒店 | 一级一片免费观看 | 精品国产精品国产偷麻豆 | 狠狠狠狠狠狠天天爱 | av线上免费观看 | 91香蕉国产在线观看软件 | 久久精国产 | 大胆欧美gogo免费视频一二区 | 久久久www| 有码中文在线 | 成人app在线播放 | 国产r级在线观看 | 五月在线视频 | 999久久 | 久久久激情网 | 五月婷婷一区二区三区 | 精品免费99久久 | 开心色婷婷 | 国产综合婷婷 | 国产激情免费 | 中文字幕在线影视资源 | 国产精品久久久久久久毛片 | 精品国产1区 | 狠狠色伊人亚洲综合网站色 | 国产成人精品亚洲日本在线观看 | 91香蕉亚洲精品 | 玖玖精品在线 | 久久久久久久久久久福利 | 中国一 片免费观看 | 不卡视频在线 | 视频在线观看入口黄最新永久免费国产 | 91片在线观看 | 国产精品9区 | 国产一区二区在线视频观看 | 色综合久久五月 | 天天干亚洲 | 日韩高清成人 | 国产亚洲日本 | 国产在线观看高清视频 | 免费看污的网站 | 国产精品一区二区三区久久 | 99亚洲精品在线 | 亚洲精品在线播放视频 | 2022久久国产露脸精品国产 | 婷婷丁香五 | 视频成人免费 | 成人在线视频免费 | 日韩不卡高清 | 中文不卡视频在线 | 久久久国产电影 | 欧美精品久久久久久久 | av在线电影网站 | 亚洲一级电影视频 | 在线免费观看黄网站 | 午夜久久影视 | 操操操人人人 | 国产精品国产三级国产专区53 | 亚洲综合五月天 | 日韩欧美高清一区二区 | 99久久精品无码一区二区毛片 | 色视频 在线 | 一区二区不卡视频在线观看 | 区一区二区三在线观看 | 91精品免费在线视频 | 亚洲综合视频网 | 插综合网 | 精品国产乱码久久久久久久 | 成人动态视频 | 国产精品综合久久久 | 国产激情电影综合在线看 | 人人视频网站 | 国产97免费 | 米奇影视7777| 92中文资源在线 | 国内精品国产三级国产aⅴ久 | 丁香在线观看完整电影视频 | 亚洲激情精品 | 婷婷激情久久 | 99热在线国产精品 | 国产在线 一区二区三区 | 亚洲国产精品久久 | 五月综合色婷婷 | 91视频高清 | 在线网址你懂得 | 91亚色视频在线观看 | 99综合久久 | 国产亚洲精品久久久久久网站 | 96久久精品 | 久久激情视频网 | 成人久久毛片 | 天天综合网入口 | av在线等| 亚洲激情免费 | 在线日韩中文字幕 | 午夜精品久久久久久久久久久 | 国产中文字幕视频 | 国产精品视频永久免费播放 | 丁香五婷| 国产免费人成xvideos视频 | 国产精品午夜8888 | 欧美日韩不卡在线 | 日韩视频一区二区三区 | 精品久久精品久久 | 久久免费精品国产 | 91麻豆精品久久久久久 | 免费热情视频 | 成人国产精品电影 | 亚洲天堂va| 国产日产在线观看 | av不卡网站 | 在线日韩三级 | 天堂在线免费视频 | 午夜三级影院 | 麻豆久久久久久久 | 婷婷福利影院 | 亚洲综合色激情五月 | 亚洲精品日韩一区二区电影 | 91在线免费视频 | 伊人久在线 | 久久国产精品99久久久久久老狼 | 免费在线观看av | 亚洲桃花综合 | 国产天天爽 | 国产精品99久久久久的智能播放 | 国产一级特黄毛片在线毛片 | 日p视频 | 亚洲免费在线观看视频 | 国产黑丝一区二区三区 | 97色噜噜 | 中文字幕91 | 日韩动态视频 | 亚洲精品99久久久久久 | 狠狠干夜夜操天天爽 | 免费视频97 | 国产在线观看你懂得 | 国产日韩欧美中文 | 国内精品久久久久久久久 | 国产一区免费观看 | 精品国自产在线观看 | 久久久久黄| 69精品久久 | 久久久久久久久久久影院 | 国产精品一区二区av影院萌芽 | 亚洲国产三级在线 | 九月婷婷色 | 深爱五月激情五月 | 国产中文字幕视频在线观看 | 成年人免费看av | 国产一级黄色免费看 | 亚洲婷婷丁香 | 午夜美女网站 | 美女免费视频黄 | 欧美精品一区二区三区一线天视频 | www天天操 | 久久久999免费视频 日韩网站在线 | 激情婷婷欧美 | 精品久久久久久一区二区里番 | 夜夜视频欧洲 | 日本系列中文字幕 | 亚洲精品久久久久久久不卡四虎 | 91porny九色91啦中文 | 精品久久久久一区二区国产 | 久久精品亚洲综合专区 | 成年人电影免费在线观看 | 久久久久成人精品亚洲国产 | 米奇狠狠狠888 | 久久国产精品一区二区三区四区 | 中文字幕第一页在线播放 | 色97在线 | 亚洲狠狠婷婷 | 91丨九色丨高潮丰满 | 黄色免费国产 | 免费高清在线视频一区· | 日韩免费电影 | 国产精品久久影院 | 五月天综合网站 | 欧美精品乱码久久久久 | 久久色中文字幕 | 91福利在线观看 | 2019av在线视频 | 久久精品导航 | 久久免费av | 国产精品专区h在线观看 | 99九九视频 | 国产一区精品在线 | 人人爱人人添 | 国产剧在线观看片 | 国外调教视频网站 | 国产高清av免费在线观看 | 就要干b| 亚洲精品乱码久久久久久蜜桃动漫 | 国产一区二区在线免费观看 | 九九在线视频 | 蜜桃视频色 | 欧美色图亚洲图片 | 国产精品久久久久永久免费观看 | 中文字幕久久精品一区 | 黄色成人在线 | 日本激情中文字幕 | 高清av影院 | 色综合中文字幕 | 久久91久久久久麻豆精品 | 国产裸体视频bbbbb | 成人黄色小说网 | 在线导航福利 | 国产视频一级 | 国产高清视频免费观看 | av免费在线网 | 91视频国产免费 | 国产精品va在线观看入 | 97在线精品国自产拍中文 | 国产婷婷一区二区 | 欧美激情综合色 | 人人插人人费 | 免费看三片 | 亚洲一级黄色片 | 成人黄色在线播放 | 日本激情视频中文字幕 | 黄色一级片视频 | 国产一区不卡在线 | 免费h漫在线观看 | 日韩理论电影网 | 久久久精品福利视频 | 在线观看 亚洲 | 久久亚洲私人国产精品 | 日韩国产欧美视频 | 99精品福利视频 | 91亚洲精品久久久蜜桃网站 | 伊人网站| 91免费视频网站在线观看 | 亚洲一区网站 | 中文字幕在线观看av | 狠狠色丁香婷婷综合视频 | 天堂av在线网站 | 色偷偷人人澡久久超碰69 | 国产69精品久久久久久久久久 | 天天看天天干 | 精品女同一区二区三区在线观看 | 欧美淫aaa免费观看 日韩激情免费视频 | 成年人免费在线播放 | 精品亚洲视频在线 | 欧美日韩国产综合一区二区 | 国产精品一区二区免费在线观看 | 国产明星视频三级a三级点| 99精品视频网| 精品夜夜嗨av一区二区三区 | 日日夜夜人人天天 | 亚洲国产日韩一区 | 91伊人久久大香线蕉蜜芽人口 | 婷色| 日韩精品一区二区三区免费观看 | 久久久久久久久艹 | 日本免费久久高清视频 | 国产不卡精品视频 | 不卡电影免费在线播放一区 |