国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

一篇文章帶你搞懂非關系型數據庫MongoDB

數據庫 其他數據庫 MongoDB
本文從Mongodb的安裝、配置、數據增刪改查、索引操作、數據聚合、數據備份與恢復、監控、高級查詢、用戶操作等十個方面進行介紹Mongodb,一篇文章帶你搞懂Mongodb數據庫。

但愿人長久,千里共嬋娟。

大家好,我是黃偉。今天給大家介紹芒果數據庫,一起來看看吧。

前言

Mongodb,分布式文檔存儲數據庫,由C++語言編寫,旨在為WEB應用提供可擴展的高性能數據存儲解決方案。MongoDB是一個高性能,開源,無模式的文檔型數據庫,是當前NoSql數據庫中比較熱門的一種。它在許多場景下可用于替代傳統的關系型數據庫或鍵/值存儲方式。下面我們來說說它的具體用法吧。

一、安裝配置

1.下載

下載地址如下:

  1. https://590m.com/file/7715018-442253530 

然后點擊msi安裝文件進行安裝,由于比較大,建議不要安裝在C盤,選擇下圖中的選項哦。

在這里我選擇的是E:\mongodb,按著步驟來,整體來說比較簡單,唯一需要注意的是,有一個選項不能勾選,如下圖:

2.配置文件

創建E:\mongodb\data\log目錄,用來存放日志文件;

在E:\mongodb\data\log目錄里新建mongodb.log,用來存放日志信息;

創建E:\mongodb\data\db目錄,用來存放數據庫數據;

并在E:\mongodb目錄下創建mongo.config,在文件內部復制如下文本:

  1. #數據文件  此處=后對應到數據所存放的目錄 
  2.  
  3. dbpath=E:\mongodb\data\db 
  4.  
  5. #日志文件  此處=后對應到日志文件所在路徑 
  6.  
  7. logpath=E:\mongodb\data\log\mongodb.log 
  8.  
  9. #錯誤日志采用追加模式,配置這個選項后mongodb的日志會追加到現有的日志文件,而不是從新創建一個新文件 
  10.  
  11. logappend=true  
  12.  
  13. #啟用日志文件,默認啟用 
  14.  
  15. journal=true  
  16.  
  17. #過濾掉一些無用的日志信息,若需要調試使用請設置為false 
  18.  
  19. quiet=true  
  20.  
  21. #端口號 默認為27017 
  22.  
  23. port=27017 

3.配置環境變量

4.創建數據庫文件存放位置

進入命令提示符,鍵入如下命令:

  1. mongod.exe  --dbpath E:\mongodb\data\db 

--dbpath 是創建數據庫文件的存放位置,mongo需要確認該目錄位置

5.驗證可否正常訪問

我們在瀏覽器中輸入以下的網站:

  1. http://localhost:27017/ 

如圖:

瀏覽器返回這樣一串英文即表示mongodb數據庫成功啟動。

但是每次這樣才能啟動太麻煩,我們可以將它添加到系統任務中,讓它開機自啟動啊。

6.安裝日志文件和服務名

  1. C:\Users\Administrator>mongod.exe --dbpath E:\mongodb\data\db -logpath E:\mongo 
  2. db\data\log\mongodb.log -install -serviceName "MongoDB" 

如果它顯示已存在,如圖:

那么,先刪除服務:

  1. sc delete MongoDB 

再次輸入上個命令就好了。

7.啟動mongodb

然后我們將它啟動起來:

  1. net start MongoDB 

可以看到啟動成功了,不容易啊。

關閉mongodb服務:

  1. net stop  MongoDB 

二、mongodb的數據庫增刪改查

眾所周知,mongodb沒有表這個概念,存儲都是靠集合來完成,因此我們需要創建的是集合。

我們先看看mongodb最常見的數據庫操作,首先 打開命令提示符,輸入如下命令進入環境:

  1. // 創建數據庫 
  2. use data 
  3.  
  4. //顯示所有數據庫 
  5. show dbs  
  6. show databases 
  7.  
  8. //查看當前數據庫 
  9. db  
  10. db.getName()   
  11.  
  12. // 刪除當前數據庫 
  13. db.dropDatabase() 
  14.  
  15. //修復當前數據庫 
  16. db.repairDatabase() 
  17.  
  18. //從指定的機器上復制指定數據庫數據到某個數據庫 
  19. db.copyDatabase("my_db""you_db""127.0.0.1"
  20.  
  21. //從指定主機上克隆數據庫 
  22. db.cloneDatabase(“127.0.0.1”) 
  23.  
  24. //創建集合 固定集合大小為100 最大數值1000 
  25. db.createCollection('student',{capped:true,size:100,max:1000}) 
  26.  
  27. //顯示所有集合 
  28. show collections 
  29.  
  30. //得到當前db的所有聚集集合 
  31. db.getCollectionNames() 
  32.  
  33. //顯示當前db所有聚集索引的狀態 
  34. db.printCollectionStats() 
  35.  
  36. //刪除集合 
  37. db.hw.drop() 
  38.  
  39. //得到指定名稱的聚集集合 
  40. db.getCollection("hw"
  41.  
  42. //插入集合 _id存在就報錯 
  43. db.hw.insert({_id:0001,'name':'hw','age':10}) 
  44.  
  45. //顯示集合內容 
  46. db.hw.find() 
  47.  
  48. //顯示一條集合內容 
  49. db.hw.findOne() 
  50.  
  51. //格式化顯示集合內容 
  52. db.hw.find().pretty() 
  53.  
  54. //保存集合_id存在就更新 
  55. db.hw.save({_id:0001,'name':'hw','age':10}) 
  56.  
  57. //更新集合 
  58. $set 指定鍵并更新 不存在則創建 $unset 刪除 
  59. db.hw.update({'name':'hw'},{'name':'xz'}) //更新一條數據替換 
  60. db.hw.update({'name':'hw'},{$set{'name':'xz'}}) //更新一條數據更新 
  61. db.hw.update({'name':'hw'},{'name':'xz'},{multi:true}) //更新全部數據 
  62.  
  63. //刪除集合數據 
  64. db.hw.remove({'name':'hw'},{justOne:true}) //刪除一條數據 
  65. db.hw.remove({'name':'hw'},{justOne:false}) //刪除全部數據 
  66.  
  67. //集合重命名  
  68. db.user.renameCollection("hw"); 將user重命名為hw 
  69.  
  70. //查詢數據 
  71. $lt--小于 $lte--小于等于  
  72. $gt--大于 $gte--大于等于  
  73. $ne--不等于 $in $nin--是否處在該范圍 
  74. $and $or 查詢條件與或 
  75. $type  
  76.  
  77. /^abc/ $regex:'abc$' 正則表達式 
  78. limit(num) 顯示指定數量的結果 
  79. skip(num) 跳過指定數量的結果 
  80. $where 查詢函數 
  81. _id默認顯示,不顯示則把值設為0 
  82. sort() 排序,參數為1升序 -1 降序 
  83. count() 統計查詢結果數量 也可把查詢參數放進count中 
  84. distinct() 消除重復數據 
  85. db.hw.find({age:{$gte:18}}) 
  86. db.hw.find({age:{$in:[12,32,21]}}) 
  87. db.hw.find({$and:{age:{$in:[12,32,21]},{age:{$gte:18}}}}) 
  88. db.hw.find({age:{$gte:18}}).skip(3).limit(2) 
  89. db.hw.find({age:/^abc/,name:{$regex:'123$'}}) 
  90. db.hw.find($where:function(){return this.age<=19}) 
  91. db.hw.find({age:{$gte:18}}).sort({age:1}) 
  92. db.hw.distinct({age:{$gte:18}}) 

三、索引

  1. //建立唯一值的索引 
  2. db.hw.ensureIndex({name:1},{'unique':true}) //1升序 -1降序 
  3. db.hw.find({name:'he'}).explain('executionStats') //獲取時間 
  4.  
  5. //查看集合中所有索引 
  6. db.hw.getIndexes() 
  7.  
  8. //刪除索引 
  9. db.hw.dropIndex('name'
  10.  
  11. //重建索引 
  12. db.hw.reIndex() 

四、數據聚合

  1. //數據聚合 
  2. $group分組 $match過濾數據 $project修改文檔結構 
  3. $sort排序 $limit指定數量 $skip 跳過 
  4. $unwind 拆分數組類型的字段 $pushAll 
  5. $sum 和 $avg 平均值 $push 添加值至數組 
  6. $pop $addToSet $pull $rename $bit 
  7. $first開頭 $last結尾 $min $max 
  8. db.hw.aggregate({$group:{_id:'$name',count:{$sum:1},avg_age:{$avg:'$age'}}} 
  9. ,{$project:{name:'$_id',count:'$count',avg_age:'$avg_age'}}, 
  10. {$match:{age:{$gt:20}}},{$unwind:{'$age',preserveNullAndEmptyArrays:true}} //true保留缺失值 

五、數據備份與恢復

  1. //備份數據 
  2. mongodump -h dbhost -d dbname -o dbdirectory 
  3. -h 服務器地址 
  4. -d 需要備份的數據庫名稱 
  5. -o 備份數據庫存放位置 
  6.  
  7. //數據恢復 
  8. mongorestore -h dbhost -d dbname --dir dbdirectory 
  9. -h 服務器地址 
  10. -d 需要恢復的數據庫實例  
  11. --dir 備份數據所在位置 

六、數據監控

  1. //監控 
  2. Mongostat 檢測數據庫狀態 
  3. Mongotop  sleeptime - -locks 跟蹤一個MongoDB的實例 

七、高級查詢

  1. <,>,>=,<= 
  2. 這四個就不用解釋了,最常用的,也是最簡單的。 
  3. db.collection.find({ "field" : { $gt: value } } )   // 大于  : field > value 
  4. db.collection.find({ "field" : { $lt: value } } )   // 小于  :  field < value 
  5. db.collection.find({ "field" : { $gte: value } } )  // 大于等于 : field >= value 
  6. db.collection.find({ "field" : { $lte: value } } )  // 小于等于 : field <= value 
  7.   
  8. 如果要同時滿足多個條件,記得要這樣用: 
  9.   
  10. db.collection.find({ "field" : { $gt: value1, $lt: value2 } } )    // value1 < field < value 
  11.   
  12.  
  13. $ne   不等于 
  14.   
  15. db.things.find( { x : { $ne : 3 } } ) 
  16.   
  17. 條件相當于x<>3,即x不等于3。 
  18.  
  19.   
  20. $mod    取模運算 
  21.   
  22. db.things.find( { a : { $mod : [ 10 , 1 ] } } ) 
  23.   
  24. 條件相當于a % 10 == 1 即a除以10余數為1的。 
  25.  
  26.  
  27. $nin  不屬于 
  28.   
  29. db.things.find({j:{$nin: [2,4,6]}}) 
  30.   
  31. 條件相當于 j 不等于 [2,4,6] 中的任何一個。 
  32.  
  33.  
  34. $in     屬于 
  35.   
  36. db.things.find({j:{$in: [2,4,6]}}) 
  37.   
  38. 條件相當于j等于[2,4,6]中的任何一個。 
  39.  
  40.  
  41. $all  全部屬于 
  42.   
  43. db.things.find( { a: { $all: [ 2, 3 ] } } ) 
  44.   
  45. 與$in類似,但必須是[]的值全部都存在。 
  46.  
  47.  
  48. $size     數量,尺寸 
  49.   
  50. db.things.find( { a : { $size: 1 } } ) 
  51.   
  52. 條件相當于a的值的數量是1(a必須是數組,一個值的情況不能算是數量為1的數組)。 
  53.  
  54.  
  55. $exists   字段存在 
  56.   
  57. db.things.find( { a : { $exists : true } } ) 
  58. db.things.find( { a : { $exists : false } } ) 
  59.   
  60. true返回存在字段a的數據,false返回不存在字段a的數據。 
  61.  
  62.  
  63. $type     字段類型 
  64.   
  65. db.things.find( { a : { $type : 2 } } ) 
  66.   
  67. 條件是a類型符合的話返回數據。 
  68.  
  69. 參數類型如下圖: 
  70.  
  71.  
  72. Type Name                       Type Number 
  73. Double                               1 
  74. String                               2 
  75. Object                               3 
  76. Array                                4 
  77. Binary data                          5 
  78. Object id                            7 
  79. Boolean                              8 
  80. Date                                 9 
  81. Null                                 10 
  82. Regular expression                   11 
  83. JavaScript code                      13 
  84. Symbol                               14 
  85. JavaScript code with scope           15 
  86. 32-bit integer                       16 
  87. Timestamp                            17 
  88. 64-bit integer                       18 
  89. Min key                              255 
  90. Max key                              127 
  91.   
  92.   
  93. Regular Expressions    正則表達式 
  94.   
  95. db.customers.find( { name : /acme.*corp/i } ) 
  96.   
  97. 類似sql中的like方法。 
  98.  
  99. 行開始 /^ 行結束 $/ 
  100.  
  101. 這里要特別特別特別地注意一點,關乎查詢效率: 
  102.   
  103.   
  104. While /^a/, /^a./, and /^a.$/ are equivalent and will all use an index in the same way, the later two require scanning the whole string so they will be slower. The first format can stop scanning after the prefix is matched. 
  105.   
  106.   
  107. 意思大概就是指在查詢以a開頭字符串時,可以有三種形式, /^a/, /^a./,和/^a.$/ 。后面兩種形式會掃描整個字符串,查詢速度會變慢。第一種形式會在查到符合的開頭后停止掃描后面的字符。 
  108.  
  109. 所以要特別注意。 
  110.  
  111. 幾個附加參數: 
  112.  
  113. i的意思是忽略大小寫。(這個很重要,很常用) 
  114.  
  115. m的意思是支持多行。(不過ME沒有嘗試過) 
  116.  
  117. x的意思是擴展。(也沒用過) 
  118.   
  119.   
  120. $or  或 (注意:MongoDB 1.5.3后版本可用) 
  121.   
  122. db.foo.find( { $or : [ { a : 1 } , { b : 2 } ] } ) 
  123.   
  124. 符合條件a=1的或者符合條件b=2的數據都會查詢出來。 
  125.  
  126. 與其它字段一起查詢: 
  127.   
  128. db.foo.find( { name : "bob" , $or : [ { a : 1 } , { b : 2 } ] } ) 
  129.   
  130. 符合條件name等于bob,同時符合其它兩個條件中任意一個的數據。 
  131.   
  132.  
  133.   
  134. Value in an Array   數組中的值 
  135.  
  136. 例如數據庫中存在這樣的數據: 
  137.   
  138. "_id" : ObjectId("4c503405645fa23b31e11631"), "colors" : [ "red""black" ] } 
  139.   
  140. 查詢 
  141.   
  142. db.things.find( { colors : "red" } ); 
  143.   
  144. 即可查到上面那條數據。 
  145.  
  146.  
  147. $elemMatch   要素符合 
  148.   
  149. t.find( { x : { $elemMatch : { a : 1, b : { $gt : 1 } } } } )  
  150.   
  151. 結果: 
  152.   
  153. "_id" : ObjectId("4b5783300334000000000aa9"), 
  154.   "x" : [ { "a" : 1, "b" : 3 }, 7, { "b" : 99 }, { "a" : 11 } ] 
  155.   
  156. x其中一個要素符合那個檢索條件就可以被檢索出來。(不過一般誰用像x這樣的結構去保存數據呢?) 
  157.   
  158.   
  159. Value in an Embedded Object    內嵌對象中的值 
  160.  
  161. 例如數據庫中存在這樣的數據: 
  162.   
  163. "_id" : ObjectId("4c503773645fa23b31e11632"), "author" : { "name" : "Dan Brown""age" : 38 }, "book" : "The Lost Symbol" } 
  164.   
  165. 查詢: 
  166.   
  167. db.postings.find( { "author.name" : "Dan Brown" } ); 
  168.   
  169. 即可查到上面那條數據。 
  170.  
  171. 查詢內嵌對象的屬性,記得要加上“”,字段是“author.name”,而不是author.name。 
  172.   
  173.   
  174. $not 不是 
  175.   
  176. db.customers.find( { name : { $not : /acme.*corp/i } } ); 
  177.   
  178. 這是一個與其它查詢條件組合使用的操作符,不會單獨使用。 
  179.  
  180. 只要你理解了前面的查詢操作即可,只是再加上了$not,結果就是得到了沒有$not的相反結果集。 
  181. sort()    排序 
  182.  
  183. 這個非常實用。即sql語言中的OrderBy。 
  184.   
  185. db.myCollection.find().sort( { ts : -1 } ) 
  186.   
  187. 也可以多個字段排序 
  188.   
  189. db.myCollection.find().sort( { ts : -1 ,ds : 1 } ) 
  190.   
  191. 這里的1代表升序,-1代表降序。 
  192.  
  193. 經過ME的實驗,小于0的數字就是降序,0以上(包括0)就是升序。 
  194.   
  195.   
  196. limit()   skip() 
  197.   
  198. 這兩個ME想連起來講,它們就是你實現數據庫分頁的好幫手。 
  199.   
  200. limit()控制返回結果數量,如果參數是0,則當作沒有約束,limit()將不起作用。 
  201.   
  202. skip()控制返回結果跳過多少數量,如果參數是0,則當作沒有約束,skip()將不起作用,或者說跳過了0條。 
  203.   
  204. 例如: 
  205.   
  206.  db.test.find().skip(5).limit(5) 
  207.   
  208. 結果就是取第6條到第10條數據。 
  209.   
  210.   
  211. snapshot()   (沒有嘗試) 
  212.  
  213.   
  214. count()   條數 
  215.   
  216. 返回結果集的條數。 
  217.   
  218. db.test.count() 
  219.   
  220. 在加入skip()和limit()這兩個操作時,要獲得實際返回的結果數,需要一個參數true,否則返回的是符合查詢條件的結果總數。 
  221.   
  222. 例子如下: 
  223.   
  224. > db.test.find().skip(5).limit(5).count() 
  225. > db.test.find().skip(5).limit(5).count(true

 

八、用戶操作

  1. //添加一個用戶 
  2. db.addUser("hw"
  3. db.addUser("hw""123321"true)  #添加用戶、設置密碼、是否只讀 
  4.  
  5. //數據庫認證、安全模式 
  6. db.auth("hw""123123"
  7.  
  8. //顯示當前所有用戶 
  9.  show users 
  10.  
  11. //刪除用戶 
  12. db.removeUser("hw"

九、其它命令

  1. //查詢指定數據庫的集合的可用的存儲空間 
  2. db.hw.storageSize() 
  3.   
  4. //查詢集合已分配的存儲空間 
  5. db.hw.totalSize() 
  6.  
  7. //查看數據庫服務器的狀態 
  8. db.serverStatus() 
  9.  
  10. //查詢指定數據庫的統計信息 
  11. db.stats() 
  12.  
  13. //當前db版本 
  14. db.version() 
  15.  
  16. //查看當前db的鏈接機器地址 
  17. db.getMongo() 

十、可視化工具提高交互

為了讓我們的操作更加人性化,更加直觀的顯示操作數據,我們可以使用一款可視化工具,今天我給大家帶來的就是Navicat-mongo 這款工具,它是Navicat家族中一款只針對mongo數據庫進行操作的數據庫可視化工具。下載地址:

  1. https://590m.com/file/7715018-442253555 

軟件理由破解程序,只需進行簡單操作即可進行破解。

下載好后按照提示進行安裝即可,

這樣基本就能完成數據庫的操作了,接下來就是大家伙照著命令去敲了。

總結

本文從Mongodb的安裝、配置、數據增刪改查、索引操作、數據聚合、數據備份與恢復、監控、高級查詢、用戶操作等十個方面進行介紹Mongodb,一篇文章帶你搞懂Mongodb數據庫。

 

責任編輯:姜華 來源: Python爬蟲與數據挖掘
相關推薦

2024-10-23 16:02:40

JavaScriptPromiserejection

2021-08-02 10:01:09

Iterator接口Java項目開發

2021-05-18 09:00:28

Pythonclass

2021-08-17 09:55:05

JavaScript MicrotaskPromise

2021-08-30 10:01:01

Map接口HashMap

2021-05-27 09:01:14

Python文件讀寫Python基礎

2021-05-31 08:59:57

Java數據庫訪問JDBC

2022-02-21 09:44:45

Git開源分布式

2021-06-30 00:20:12

Hangfire.NET平臺

2023-05-12 08:19:12

Netty程序框架

2021-05-21 09:01:56

Python繼承多態

2020-06-03 11:06:26

DNS域名緩存

2021-05-15 09:18:04

Python進程

2021-02-02 18:39:05

JavaScript

2020-02-28 11:29:00

ElasticSear概念類比

2021-06-04 09:56:01

JavaScript 前端switch

2020-11-10 10:48:10

JavaScript屬性對象

2021-01-29 18:41:16

JavaScript函數語法

2022-12-14 08:03:27

CSS變量前端

2021-07-01 10:01:16

JavaLinkedList集合
點贊
收藏

51CTO技術棧公眾號

欧美视频亚洲视频| 婷婷丁香久久五月婷婷| 精品一区二区三区毛片| 日本不卡一二三区黄网| 少妇高潮流白浆| 成人丝袜高跟foot| 中文字幕视频在线免费观看| 亚洲精品国产视频| 992tv在线影院| 色综合久久中文综合久久牛| 成人影院www在线观看| 日韩精品视频在线| 极品束缚调教一区二区网站| 亚洲一区二区三区sesese| 免费成人在线观看| 亚洲 欧美 另类人妖| 色吊一区二区三区| 经典三级一区二区| 欧美在线视频网站| 亚洲一区免费| 国产精品专区在线| 天天色 色综合| 黄色激情在线播放| 秋霞av国产精品一区| 亚洲福利国产| 激情深爱综合网| 黄色一区二区在线| 中文不卡1区2区3区| 欧美一区二三区| 美女国产一区| 日本超碰在线观看| 欧美一区日韩一区| 动漫av一区| 日韩av一区二区三区在线 | 婷婷成人综合网| 波多野结衣乳巨码无在线观看| 欧美激情手机在线视频 | 91精品国产高清一区二区三区 | 国内成人精品视频| 三级精品视频| 亚洲第一在线综合在线| 国产精品久久久一区麻豆最新章节| 午夜免费播放观看在线视频| 色综合久久88| 蜜桃av噜噜一区二区三区小说| 日本a级黄色| 这里精品视频免费| 亚洲伦理一区| 成人福利免费网站| 最新91在线视频| 99精品视频免费观看视频| 丁香婷婷自拍| 欧美大片va欧美在线播放| 日本特黄久久久高潮| 青春有你2免费观看完整版在线播放高清 | а√在线中文网新版地址在线| 国产精品第2页| 岛国精品在线观看| www.中文字幕久久久| 欧美一区二区.| 91色视频在线| 黄在线观看免费网站ktv| 亚洲va欧美va国产综合剧情| 久久久久国产精品人| 最新中文字幕在线播放| 精品欧美一区二区久久久伦 | 久草热8精品视频在线观看| 三级黄视频在线观看| 97视频在线观看视频免费视频| 夫妻av一区二区| 男女在线观看视频| 97国产超碰| 欧美性猛交xxx| av资源久久| 日本成在线观看| 欧美在线国产精品| 国产精品久久久久久久岛一牛影视| 久久爱.com| 成人一对一视频| 国产亚洲一区二区精品| 开心九九激情九九欧美日韩精美视频电影 | 日韩欧美电影一区二区| 在线观看日韩精品| 91精品国产麻豆国产在线观看 | 欧美一级做a| 在线观看污视频| 亚洲成人黄色在线| 日韩二区三区四区| 天堂av资源在线观看| 欧美日韩成人一区二区三区| 欧美乱熟臀69xxxxxx| 精品成人一区| 在线观看美女网站大全免费| 国产精品视频一区二区三区经| 色欧美日韩亚洲| 狠狠综合久久| 亚洲综合伊人久久大杳蕉| 国产富婆一区二区三区| 色94色欧美sute亚洲线路一ni| 91精品国产成人观看| 人成在线免费视频| 国产精品日韩一区二区免费视频| 色综合久久综合网| 亚洲女同在线| 97在线视频免费观看完整版| 亚洲黄色成人久久久| 亚洲免费视频观看| 2020国产精品| 亚州av一区| 精品视频一二三| 视频一区二区在线观看| 日韩精品视频中文在线观看| 国产69精品久久99不卡| 白白在线精品| 在线视频专区| 欧美精品亚洲精品| 亚洲欧美一区二区精品久久久| 91玉足脚交白嫩脚丫在线播放| 极品束缚调教一区二区网站 | 国产精品12| 91精选在线观看| 精品一区二区三区免费| 欧美成人高清视频在线观看| 777视频在线| 91精品啪aⅴ在线观看国产| 欧美老女人第四色| 国产不卡视频一区| 亚洲第一论坛sis| 麻豆免费在线视频| 黄页网站大全在线观看| 国产精品福利在线观看| 91麻豆精品国产91久久久久久久久 | 麻豆精品新av中文字幕| 四虎国产精品成人免费影视| 羞羞的视频免费| 成人蜜桃视频| 亚洲视频日韩精品| 亚洲综合色网站| 日韩av在线播放中文字幕| 欧美综合影院| 青青免费在线视频| 免费看欧美黑人毛片| 日本欧美精品在线| 欧美日韩大陆在线| 91免费精品国自产拍在线不卡| 久久婷婷蜜乳一本欲蜜臀| 波多野结衣中文在线| 五月天电影免费在线观看一区| 国内精品一区二区| 欧美精品日韩三级| 欧美日韩高清一区| 久久免费视频色| 一本色道久久综合亚洲精品不| 国产精品1区在线| 国产精品视频一区二区久久| 国产又粗又猛又爽又黄的网站| 国产国产精品人在线视| 亚洲成av人乱码色午夜| 洋洋成人永久网站入口| 精品一区二区三区视频| 日韩精品电影| 99亚洲男女激情在线观看| 美女羞羞视频在线观看| а√最新版天堂中文在线| 亚洲一区二区三区在线观看视频| 国产成人综合一区二区三区| 亚洲嫩模很污视频| 色婷婷精品久久二区二区蜜臂av | 欧美理伦片在线播放| 欧美精品videosex| h色视频在线观看| 久久综合九色综合88i| 久久偷看各类wc女厕嘘嘘偷窃| 69久久夜色精品国产7777| 亚洲精品xxxx| 91久久免费观看| 国产在视频一区二区三区吞精| 成人av影视| 国产黄色片免费在线观看| 97人人模人人爽人人喊38tv| 久久99精品国产99久久6尤物| 日韩一级片网址| 亚洲高清中文字幕| 久久久久久久久久看片| 日本美女一区二区| 国产在线成人| 日产精品一区二区| 91午夜精品| 国产精品无码久久久久| 欧美色图天堂| 成年人视频在线观看免费| 日日噜噜夜夜狠狠视频| 免费在线观看毛片网站| 久久久久久久久影视| 欧美日韩国产免费一区二区三区| 91久久嫩草影院一区二区| 欧美中文在线观看| 国产精品羞羞答答xxdd| 成人a免费在线看| 亚洲电影在线免费观看|