精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

R語言利劍之NoSQL系列:MongoDB

數據庫 其他數據庫 MongoDB
R利劍NoSQL系列文章,主要介紹通過R語言連接使用NoSQL數據庫。涉及的NoSQL產品,包括Redis, MongoDB, HBase, Hive, Cassandra, Neo4j。希望通過我的介紹讓廣大的R語言愛好者,有更多的開發選擇,做出更多地激動人心的應用。

由于文章篇幅有限,均跳過NoSQL的安裝過程,請自行參考文檔安裝。

***篇 R利劍MongeDB,分為4個章節。

MongoDB環境準備
rmongodb函數庫
rmongodb基本使用操作
rmongodb測試案例

每一章節,都會分為”文字說明部分”和”代碼部分”,保持文字說明與代碼的連貫性。

1. MongoDB環境準備

文字說明部分:

首先環境準備,這里我選擇了Linux Ubuntu操作系統12.04的32位桌面版本,大家可以根據自己的使用習慣選擇順手的Linux。

MongoDB安裝過程跳過。

查看MongoDB服務器環境
使用mongod命令,啟動MongoDB。

進程號:pid=2924
端口:port=27017
數據文件目錄:dbpath=/data/db/
軟件版本:32-bit
主機名:host=conan

使用mongo命令,打開mongo shell。

mongo shell的簡單操作:
查看數據庫,切換數據庫,查看數據集.

R語言環境2.15.0,WinXP通過遠程連接,訪問Mongodb Server。

代碼部分:

查看操作系統

~ uname -a

    Linux conan 3.2.0-38-generic-pae #61-Ubuntu SMP Tue Feb 19 12:39:51 UTC 2013 i686 i686 i386 GNU/Linux

~ cat /etc/issue

    Ubuntu 12.04.2 LTS \n \l

啟動mongodb

~ mongod

    mongod --help for help and startup options
    Thu Apr 11 11:02:26
    Thu Apr 11 11:02:26 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
    Thu Apr 11 11:02:26
    Thu Apr 11 11:02:26 [initandlisten] MongoDB starting : pid=2924 port=27017 dbpath=/data/db/ 32-bit host=conan
    Thu Apr 11 11:02:26 [initandlisten]
    Thu Apr 11 11:02:26 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
    Thu Apr 11 11:02:26 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
    Thu Apr 11 11:02:26 [initandlisten] **       with --journal, the limit is lower
    Thu Apr 11 11:02:26 [initandlisten]
    Thu Apr 11 11:02:26 [initandlisten] db version v2.0.6, pdfile version 4.5
    Thu Apr 11 11:02:26 [initandlisten] git version: e1c0cbc25863f6356aa4e31375add7bb49fb05bc
    Thu Apr 11 11:02:26 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_41
    Thu Apr 11 11:02:26 [initandlisten] options: {}
    Thu Apr 11 11:02:26 [websvr] admin web console waiting for connections on port 28017
    Thu Apr 11 11:02:26 [initandlisten] waiting for connections on port 27017

打開mongo shell

~ mongo

    MongoDB shell version: 2.0.6
    connecting to: test

進入mongo shell, 列表顯示數據庫

> show dbs

    db      0.0625GB
    feed    0.0625GB
    foobar  0.0625GB
    local   (empty)

切換數據庫

> use foobar

   switched to db foobar

列表顯示數據集

> show collections

    blog
    system.indexes

R語言開發環境2.15.0,WinXP

~ R
R version 2.15.0 (2012-03-30)
Copyright (C) 2012 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: i386-pc-mingw32/i386 (32-bit)

2. rmongodb函數庫

文字說明部分:

rmongodb的開發了一大堆的函數,對應mongo的操作。比起別的NoSQL來說,真是工程浩大啊。但我總覺得封裝粒度不夠,寫起代碼來比較復雜。

下面列出了所有rmongodb函數庫,我只挑選幾個常用的介紹。

建立mongo連接

mongo<-mongo.create()

查看接連是否正常

mongo.is.connected(mongo)

創建一個BSON對象緩存

buf <- mongo.bson.buffer.create()

給對象buf增加element

mongo.bson.buffer.append(buf, "name", "Echo")

增加對象類型的element

score <- c(5, 3.5, 4)
names(score) <- c("Mike", "Jimmy", "Ann")
mongo.bson.buffer.append(buf, "score", score)

增加數組類型的element

mongo.bson.buffer.start.array(buf, "comments")
mongo.bson.buffer.append(buf, "0", "a1")
mongo.bson.buffer.append(buf, "1", "a2")
mongo.bson.buffer.append(buf, "2", "a3")

關閉數組類型的element

mongo.bson.buffer.finish.object(buf)

取出緩存數據

b <- mongo.bson.from.buffer(buf)

數據庫.數據集

ns="db.blog"

插入一條記錄

mongo.insert(mongo,ns,b)

#mongo shell:(Not Run)
db.blog.insert(b)

創建查詢對象query

buf <- mongo.bson.buffer.create()
mongo.bson.buffer.append(buf, "name", "Echo")
query <- mongo.bson.from.buffer(buf)

創建查詢返回值對象

buf <- mongo.bson.buffer.create()
mongo.bson.buffer.append(buf, "name", 1)
fields <- mongo.bson.from.buffer(buf)

執行單條記錄查詢

mongo.find.one(mongo, ns, query, fields)

#mongo shell:(Not Run)
db.blog.findOne({query},{fields})

執行列表記錄查詢

mongo.find(mongo, ns, query, fields)

#mongo shell:(Not Run)
db.blog.find({query},{fields})

創建修改器對象objNew

buf <- mongo.bson.buffer.create()
mongo.bson.buffer.start.object(buf, "$inc")
mongo.bson.buffer.append(buf, "age", 1L)
mongo.bson.buffer.finish.object(buf)
objNew <- mongo.bson.from.buffer(buf)

執行修改操作

mongo.update(mongo, ns, query, objNew)

#mongo shell:(Not Run)
db.blog.update({query},{objNew})

單行代碼修改操作

mongo.update(mongo, ns, query, list(name="Echo", age=25))

#mongo shell:(Not Run)
db.blog.update({query},{objNew})

刪除所選對象

mongo.remove(mongo, ns, query)

#mongo shell:(Not Run)
db.blog.remove({query},{objNew})

銷毀mongo連接

mongo.destroy(mongo)

代碼部分:

共有153個函數

mongo.add.user
mongo.authenticate
mongo.binary.binary
mongo.binary.function
mongo.binary.md5
mongo.binary.old
mongo.binary.user
mongo.binary.uuid
mongo.bson.array
mongo.bson.binary
mongo.bson.bool
mongo.bson.buffer.append
mongo.bson.buffer.append.bool
mongo.bson.buffer.append.bson
mongo.bson.buffer.append.code
mongo.bson.buffer.append.code.w.scope
mongo.bson.buffer.append.complex
mongo.bson.buffer.append.double
mongo.bson.buffer.append.element
mongo.bson.buffer.append.int
mongo.bson.buffer.append.list
mongo.bson.buffer.append.long
mongo.bson.buffer.append.null
mongo.bson.buffer.append.object
mongo.bson.buffer.append.oid
mongo.bson.buffer.append.raw
mongo.bson.buffer.append.regex
mongo.bson.buffer.append.string
mongo.bson.buffer.append.symbol
mongo.bson.buffer.append.time
mongo.bson.buffer.append.timestamp
mongo.bson.buffer.append.undefined
mongo.bson.buffer.create
mongo.bson.buffer.finish.object
mongo.bson.buffer.size
mongo.bson.buffer.start.array
mongo.bson.buffer.start.object
mongo.bson.code
mongo.bson.code.w.scope
mongo.bson.date
mongo.bson.dbref
mongo.bson.destroy
mongo.bson.double
mongo.bson.empty
mongo.bson.eoo
mongo.bson.find
mongo.bson.from.buffer
mongo.bson.from.list
mongo.bson.int
mongo.bson.iterator.create
mongo.bson.iterator.key
mongo.bson.iterator.next
mongo.bson.iterator.type
mongo.bson.iterator.value
mongo.bson.long
mongo.bson.null
mongo.bson.object
mongo.bson.oid
mongo.bson.print
mongo.bson.regex
mongo.bson.size
mongo.bson.string
mongo.bson.symbol
mongo.bson.timestamp
mongo.bson.to.list
mongo.bson.undefined
mongo.bson.value
mongo.code.create
mongo.code.w.scope.create
mongo.command
mongo.count
mongo.create
mongo.cursor.destroy
mongo.cursor.next
mongo.cursor.value
mongo.destroy
mongo.disconnect
mongo.distinct
mongo.drop
mongo.drop.database
mongo.find
mongo.find.await.data
mongo.find.cursor.tailable
mongo.find.exhaust
mongo.find.no.cursor.timeout
mongo.find.one
mongo.find.oplog.replay
mongo.find.partial.results
mongo.find.slave.ok
mongo.get.database.collections
mongo.get.databases
mongo.get.err
mongo.get.hosts
mongo.get.last.err
mongo.get.prev.err
mongo.get.primary
mongo.get.server.err
mongo.get.server.err.string
mongo.get.socket
mongo.get.timeout
mongo.gridfile.destroy
mongo.gridfile.get.chunk
mongo.gridfile.get.chunk.count
mongo.gridfile.get.chunks
mongo.gridfile.get.chunk.size
mongo.gridfile.get.content.type
mongo.gridfile.get.descriptor
mongo.gridfile.get.filename
mongo.gridfile.get.length
mongo.gridfile.get.md5
mongo.gridfile.get.metadata
mongo.gridfile.get.upload.date
mongo.gridfile.pipe
mongo.gridfile.read
mongo.gridfile.seek
mongo.gridfile.writer.create
mongo.gridfile.writer.finish
mongo.gridfile.writer.write
mongo.gridfs.create
mongo.gridfs.destroy
mongo.gridfs.find
mongo.gridfs.remove.file
mongo.gridfs.store
mongo.gridfs.store.file
mongo.index.background
mongo.index.create
mongo.index.drop.dups
mongo.index.sparse
mongo.index.unique
mongo.insert
mongo.insert.batch
mongo.is.connected
mongo.is.master
mongo.oid.create
mongo.oid.from.string
mongo.oid.print
mongo.oid.time
mongo.oid.to.string
mongo.reconnect
mongo.regex.create
mongo.remove
mongo.rename
mongo.reset.err
mongo.set.timeout
mongo.shorthand
mongo.simple.command
mongo.symbol.create
mongo.timestamp.create
mongo.undefined.create
mongo.update
mongo.update.basic
mongo.update.multi
mongo.update.upsert

3. rmongodb基本使用操作

文字說明部分:

首先,要安裝rmongodb類庫,加載類庫。

然后,通過mongo.create()函數,建立與MongoDB Server的連接。如果是本地連接,mongo.create()不要參數,下面例子使用遠程連接,增加host參數配置IP地址。mongo<-mongo.create(host=“192.168.1.11”)

檢查是否連接正常,mongo.is.connected()。這條語句在開發時會經常使用到。在用R語言建模時,如果對象或者函數使用錯誤,連接會被自動斷開。由于MongoDB的異常機制,斷開時不會是提示。大家要手動使用這條命令測試,連接是否正常。

接下來,定義兩個變量,db和ns。db是我們需要使用的數據庫,ns是數據庫+數據集。

下面我們創建一個Mongo對象。

{
        "_id" : ObjectId("51663e14da2c51b1e8bc62eb"),
        "name" : "Echo",
        "age" : 22,
        "gender" : "Male",
        "score" : {
                "Mike" : 5,
                "Jimmy" : 3.5,
                "Ann" : 4
        },
        "comments" : [
                "a1",
                "a2",
                "a3"
        ]
}

然后,分別使用修改器inc,set,$push進行操作。

***刪除對象,并斷開連接。

代碼部分:

安裝rmongodb

install.packages(rmongodb)

加載類庫

library(rmongodb)

遠程連接mongodb server

mongo<-mongo.create(host="192.168.1.11")

查看是否連接正常

print(mongo.is.connected(mongo))

定義db

db<-"foobar"

定義db.collection

ns<-"foobar.blog"

組織bson類型數據

buf <- mongo.bson.buffer.create()
mongo.bson.buffer.append(buf, "name", "Echo")
mongo.bson.buffer.append(buf, "age", 22L)
mongo.bson.buffer.append(buf, "gender", 'Male')

#對象類型
score <- c(5, 3.5, 4)
names(score) <- c("Mike", "Jimmy", "Ann")
mongo.bson.buffer.append(buf, "score", score)

#數組類型
mongo.bson.buffer.start.array(buf, "comments")
mongo.bson.buffer.append(buf, "0", "a1")
mongo.bson.buffer.append(buf, "1", "a2")
mongo.bson.buffer.append(buf, "2", "a3")
mongo.bson.buffer.finish.object(buf)
b <- mongo.bson.from.buffer(buf)

插入mongodb

mongo.insert(mongo,ns,b)

單條顯示插入的數據

buf <- mongo.bson.buffer.create()
mongo.bson.buffer.append(buf, "name", "Echo")
query <- mongo.bson.from.buffer(buf)
print(mongo.find.one(mongo, ns, query))

使用$inc修改器,修改給age加1

buf <- mongo.bson.buffer.create()
mongo.bson.buffer.start.object(buf, "$inc")
mongo.bson.buffer.append(buf, "age", 1L)
mongo.bson.buffer.finish.object(buf)
objNew <- mongo.bson.from.buffer(buf)
mongo.update(mongo, ns, query, objNew)
print(mongo.find.one(mongo, ns, query))

使用$set修改器,修改age=1

buf <- mongo.bson.buffer.create()
mongo.bson.buffer.start.object(buf, "$set")
mongo.bson.buffer.append(buf, "age", 1L)
mongo.bson.buffer.finish.object(buf)
objNew <- mongo.bson.from.buffer(buf)
mongo.update(mongo, ns, query, objNew)
print(mongo.find.one(mongo, ns, query))

使用$push修改器,給comments數組追加”Orange”數據

buf <- mongo.bson.buffer.create()
mongo.bson.buffer.start.object(buf, "$push")
mongo.bson.buffer.append(buf, "comments", "Orange")
mongo.bson.buffer.finish.object(buf)
objNew <- mongo.bson.from.buffer(buf)
mongo.update(mongo, ns, query, objNew)
print(mongo.find.one(mongo, ns, query))

使用簡化修改語句,給對象重新賦值

mongo.update(mongo, ns, query, list(name="Echo", age=25))
print(mongo.find.one(mongo, ns, query))

刪除對象

mongo.remove(mongo, ns, query)

銷毀mongo連接

mongo.destroy(mongo)

4. rmongodb測試案例

文字說明部分:

批量插入數據,使用修改器批量修改數據

3種修改器速度比較,pushpush > set>inc

終于push是對數組操作,set是對任意值操作,inc是對數字操作,所以下面測試可能不太公平。測試結果僅供參考。

代碼部分:

批量插入數據函數

  batch_insert<-function(arr=1:10,ns){
    library(stringr)
    mongo_insert<-function(x){
      buf <- mongo.bson.buffer.create()
      mongo.bson.buffer.append(buf, "name", str_c("Dave",x))
      mongo.bson.buffer.append(buf, "age", x)
      mongo.bson.buffer.start.array(buf, "comments")
      mongo.bson.buffer.append(buf, "0", "a1")
      mongo.bson.buffer.append(buf, "1", "a2")
      mongo.bson.buffer.append(buf, "2", "a3")
      mongo.bson.buffer.finish.object(buf)
      return(mongo.bson.from.buffer(buf))
    }
    mongo.insert.batch(mongo, ns, lapply(arr,mongo_insert))
  }

批量修改,$inc修改器函數

  batch_inc<-function(data,ns){
    for(i in data){
      buf <- mongo.bson.buffer.create()
      mongo.bson.buffer.append(buf, "name", str_c("Dave",i))
      criteria <- mongo.bson.from.buffer(buf)
      buf <- mongo.bson.buffer.create()
      mongo.bson.buffer.start.object(buf, "$inc")
      mongo.bson.buffer.append(buf, "age", 1L)
      mongo.bson.buffer.finish.object(buf)
      objNew <- mongo.bson.from.buffer(buf)
      mongo.update(mongo, ns, criteria, objNew)
    }
  }

批量修改,$set修改器函數

  batch_set<-function(data,ns){
    for(i in data){
      buf <- mongo.bson.buffer.create()
      mongo.bson.buffer.append(buf, "name", str_c("Dave",i))
      criteria <- mongo.bson.from.buffer(buf)
      buf <- mongo.bson.buffer.create()
      mongo.bson.buffer.start.object(buf, "$set")
      mongo.bson.buffer.append(buf, "age", 1L)
      mongo.bson.buffer.finish.object(buf)
      objNew <- mongo.bson.from.buffer(buf)
      mongo.update(mongo, ns, criteria, objNew)
    }
  }

批量修改,$push修改器函數

  batch_push<-function(data,ns){
    for(i in data){
      buf <- mongo.bson.buffer.create()
      mongo.bson.buffer.append(buf, "name", str_c("Dave",i))
      criteria <- mongo.bson.from.buffer(buf)
      buf <- mongo.bson.buffer.create()
      mongo.bson.buffer.start.object(buf, "$push")
      mongo.bson.buffer.append(buf, "comments", "Orange")
      mongo.bson.buffer.finish.object(buf)
      objNew <- mongo.bson.from.buffer(buf)
      mongo.update(mongo, ns, criteria, objNew)
    }
  }

執行程序,3種修改速度比較,$push最慢

ns="foobar.blog" data=1:1000 mongo.remove(mongo, ns) ## [1] TRUE system.time(batch_insert(data, ns)) ## user system elapsed ## 0.25 0.00 0.28 system.time(batch_inc(data, ns)) ## user system elapsed ## 0.47 0.27 2.50 system.time(batch_set(data, ns)) ## user system elapsed ## 0.77 0.48 3.17 system.time(batch_push(data, ns)) ## user system elapsed ## 0.81 0.41 4.23

責任編輯:彭凡 來源: 統計之都
相關推薦

2014-08-01 13:40:50

R語言

2013-04-10 10:31:21

R語言

2011-06-14 09:09:13

NoSQLMongoDB

2023-09-05 10:25:35

數據庫性能

2013-05-31 10:15:29

R語言

2017-10-17 11:58:54

R語言UpSetR可視化

2021-05-18 07:15:37

Python

2010-09-07 09:07:33

MongoDBCouchDB

2013-05-16 09:37:14

R語言

2010-08-31 09:11:58

2013-12-03 11:00:48

2011-04-01 09:29:52

MySQLMongoDB

2011-04-18 10:03:51

NoSQLMongoDB

2011-08-02 16:08:52

NoSQLMongoDBCassandra

2019-03-20 15:59:11

NoSQLRedis數據庫

2011-09-14 15:30:00

MongoDB

2017-11-17 18:40:54

華為

2012-08-29 16:41:44

信息安全RSA華為

2010-03-11 14:37:47

Visual StudScrum

2011-03-04 09:32:31

NoSQL就業形勢Cassandra
點贊
收藏

51CTO技術棧公眾號

在线视频观看日韩| 91精品尤物| 亚洲少妇最新在线视频| 国产98在线|日韩| 久久国产视频精品| 欧美超碰在线| 亚洲精品福利在线| 国产精品v日韩精品v在线观看| 日韩伦理电影网站| 久久久久久久一区| av一区二区三区免费| 久久精品五月天| 国产精品mm| 在线观看欧美日韩| 99re久久精品国产| 亚州欧美在线| 日韩欧美一区视频| 欧美一区二区三区综合| 二区在线视频| 99久久99久久精品国产片果冻| 国产欧美va欧美va香蕉在线| www..com国产| 欧美一区国产在线| 中文字幕精品在线视频| 免费的av网站| 91蜜桃臀久久一区二区| 欧美日韩另类一区| 无码日韩人妻精品久久蜜桃| 国产盗摄一区二区| 亚洲精品国久久99热| 亚洲电影免费| 国产在线免费观看| 91免费观看在线| 成人在线视频网址| av老司机久久| 久久超碰97中文字幕| 国产精品福利片| 久久亚洲天堂网| 亚洲高清二区| 欧美极品欧美精品欧美视频| 99鲁鲁精品一区二区三区| 精品日韩欧美一区| 亚洲欧洲午夜一线一品| 捆绑凌虐一区二区三区| 永久免费精品视频| 日韩一区二区精品| 天天干天天曰天天操| 韩国精品视频在线观看| 欧美性生交片4| 四季av一区二区| 日本在线视频一区二区| 色婷婷久久综合| 精品免费国产一区二区| 永久免费毛片在线播放| 欧美日韩一区二区免费在线观看| 毛片在线播放视频| 樱花草涩涩www在线播放| 欧美日韩亚洲一区二区| 国产精品动漫网站| 精品欧美日韩精品| 欧美日韩一区二区不卡| www.国产视频.com| 北岛玲精品视频在线观看| 欧美电影一区二区三区| www.色.com| 国产在线播放精品| 亚洲美腿欧美激情另类| 女女互磨互喷水高潮les呻吟| 国精一区二区| 日韩在线视频线视频免费网站| 久久噜噜色综合一区二区| 香蕉视频国产精品| 午夜精品www| 一级做a爰片久久毛片| 日本aⅴ精品一区二区三区| 国产日韩精品入口| 亚洲AV无码一区二区三区性| 99久久综合99久久综合网站| 日本一区二区在线视频| 秋霞成人影院| 亚洲最色的网站| 97超碰青青草| 日韩av懂色| 日韩精品一区二区三区老鸭窝| 人妻 日韩 欧美 综合 制服| 国产欧美高清视频在线| 久久成人亚洲精品| 久久国产黄色片| 久久99精品久久久| 狠狠色伊人亚洲综合网站色| 国产高清视频免费最新在线| 亚洲女人的天堂| 国产在线精品91| 日韩成人综合网| 亚洲精品ady| 来吧亚洲综合网| 国产情侣久久| 91在线视频导航| 久久电影视频| 一区二区三区色| 搡女人真爽免费午夜网站| 亚洲精品一区二区三区在线| 亚洲人成亚洲人成在线观看| 欧美视频www| 每日更新成人在线视频| 亚洲一区二区三| 久草在线网址| 亚洲成人午夜影院| 99九九精品视频| 免费成人结看片| 久久久久女教师免费一区| 中国a一片一级一片| 久久成人免费日本黄色| 久久久综合亚洲91久久98| 国产欧美黑人| 欧美视频中文字幕| 亚洲最大免费视频| 国产一区二区三区四区三区四| 国产精品久久久久福利| 日漫免费在线观看网站| 亚洲激情五月婷婷| 国产5g成人5g天天爽| 精品久久一区| 欧美野外猛男的大粗鳮| 亚洲精品无遮挡| 亚洲特黄一级片| 三级a在线观看| 亚洲精品蜜桃乱晃| 97av在线视频| 日韩永久免费视频| 亚洲伊人色欲综合网| 国产精品嫩草影视| 久久精品高清| 国产日韩亚洲欧美| 午夜视频在线观看免费视频| 91成人在线精品| 日韩人妻无码一区二区三区| 亚洲乱码视频| 国产一区二区精品在线| 曰本三级在线| 日韩美一区二区三区| 色欲一区二区三区精品a片| 久久国产综合精品| 伊人久久大香线蕉综合75| 成人全视频免费观看在线看| 国产一区二区三区在线观看视频 | 波多野结衣在线播放一区| 日本在线精品视频| 国产在线视频你懂得| 在线观看成人免费视频| 女人黄色一级片| 蜜臀国产一区二区三区在线播放| 久久人人九九| 欧美色999| 国产一区二区三区视频免费| 少妇无套内谢久久久久| 国产精品美日韩| 亚洲精品第三页| 欧美国产三区| 国产激情美女久久久久久吹潮| 超碰在线资源| 国产视频欧美视频| 中文字幕精品在线观看| **网站欧美大片在线观看| 欧美一区二区三区影院| 在线欧美不卡| 日韩av电影免费在线| jizz久久久久久| 久久资源免费视频| 黑人精品一区二区| 日韩欧美在线网址| japanese中文字幕| 久久99精品网久久| 国产 欧美 日韩 一区| 美女扒开腿让男人桶爽久久动漫| 欧美在线视频网| 精品国产白色丝袜高跟鞋| 欧美成人猛片aaaaaaa| 久久久久久久久久久久久久av| 国产午夜一区二区三区| www.午夜av| 日韩午夜免费视频| 亚洲欧洲中文| 999久久久精品一区二区| 日本午夜人人精品| 激情成人四房播| 日韩av影片在线观看| 亚洲免费视频二区| 亚洲一区二区3| 免费观看a级片| 粉嫩av一区二区三区| 欧美国产日韩在线播放| 欧美成人精品| 色爱区成人综合网| 国产毛片久久久| 国产三级精品网站| 午夜影院在线播放| 欧美日本黄视频| av中文资源在线| 亚洲精品在线免费播放| 一本到在线视频| 大荫蒂欧美视频另类xxxx| 免费在线观看a级片| 久久久久久久精| 国产精品久久久久久久无码| 久久精品国产精品亚洲精品| 欧美日韩精品在线一区二区| 日韩精品久久| 欧美精品亚洲| 精品欧美午夜寂寞影院| 91九色视频导航| 国产经典一区| 51色欧美片视频在线观看| 污污影院在线观看| 在线性视频日韩欧美| 无码国产精品一区二区色情男同 | 色啦啦av综合| 日韩精品亚洲一区| 青娱乐自拍偷拍| 国产精品豆花视频| 国产欧美自拍视频| 97在线精品| 亚洲欧美日韩国产成人综合一二三区 | 午夜精品影院在线观看| 深夜福利影院在线观看| 中文字幕 久热精品 视频在线| 精品少妇人妻一区二区黑料社区| 高清视频一区二区| 国产裸体视频网站| 国产最新精品精品你懂的| 中文字幕在线观看第三页| 翔田千里一区二区| 久久久久久久久久久视频| 亚洲高清资源| 久草视频这里只有精品| 欧美+日本+国产+在线a∨观看| 亚洲精品国产精品国自产| 精品久久精品| 性欧美.com| 精品色999| 亚洲春色在线视频| 久久国产亚洲精品| 亚洲一区二区三区色| 欧美日韩激情| 亚洲激情一区二区三区| 日韩精品诱惑一区?区三区| 日韩电影大全在线观看| 欧美日韩伦理在线免费| 日韩一区二区电影在线观看| 欧美丝袜一区| 亚洲综合网中心| 婷婷亚洲五月| www婷婷av久久久影片| 欧美日韩亚洲一区| 欧美一级视频免费看| 国产视频久久| 欧美自拍小视频| 韩国理伦片一区二区三区在线播放| 做a视频在线观看| 国产精品99久久久久久宅男| 亚洲少妇中文字幕| 99精品一区二区三区| 久久成人激情视频| 国产精品不卡一区二区三区| 精品人妻伦九区久久aaa片| 亚洲一本大道在线| 最近免费中文字幕大全免费版视频| 色吊一区二区三区| 亚洲午夜激情视频| 日韩精品中文字幕在线一区| 天天色综合av| 中文字幕亚洲综合久久筱田步美| 国产三级在线播放| 97色在线视频观看| 韩日一区二区| 亚洲综合成人婷婷小说| 欧美调教在线| 一区二区三区欧美在线| 激情综合在线| 国产裸体免费无遮挡| 国产黄人亚洲片| 我和岳m愉情xxxⅹ视频| 中文字幕一区不卡| 日韩精品――中文字幕| 欧美丝袜自拍制服另类| 六月丁香综合网| 在线观看亚洲区| 91超碰在线播放| 国产日韩综合一区二区性色av| 国内精品偷拍| 自拍偷拍一区二区三区| 亚洲乱码久久| 初高中福利视频网站| 久久人人97超碰com| 丁香花五月激情| 狠狠躁夜夜躁人人躁婷婷91| 国产免费福利视频| 亚洲免费中文字幕| 污污片在线免费视频| 国产精品福利在线观看网址| 香蕉免费一区二区三区在线观看| 女女同性女同一区二区三区91| 欧美成人一品| 欧美在线aaa| wwww国产精品欧美| 国产一级aa大片毛片| 在线欧美日韩精品| 粉嫩av一区二区夜夜嗨| 日韩中文字在线| 亚洲高清黄色| 久草热久草热线频97精品| 亚洲精品午夜av福利久久蜜桃| 欧在线一二三四区| 91在线视频观看| 久久久久成人精品无码| 91精品综合久久久久久| 成人精品一区| 日本欧美在线视频| 麻豆一区二区| 拔插拔插海外华人免费| 国产麻豆精品视频| 小泽玛利亚一区| 欧美日韩高清在线播放| 国产三级在线看| 国产99视频在线观看| 亚洲精品国产动漫| 日韩精品―中文字幕| www.66久久| 国产无遮挡免费视频| 精品乱人伦小说| 欧美色图天堂| 91成人免费在线观看| 7777久久香蕉成人影院| 久久久久久久久久一区| 亚洲欧洲精品一区二区精品久久久 | 97在线观看免费观看高清| 人人爽久久涩噜噜噜网站| 久久男人av| 国产视频九色蝌蚪| 久久综合久久久久88| 日韩三级视频在线播放| 亚洲国产高清自拍| 俺来俺也去www色在线观看| 国产经典一区二区三区| 影音先锋久久精品| 人妖粗暴刺激videos呻吟| 五月天丁香久久| 欧洲免费在线视频| 日韩免费视频在线观看| 欧美系列电影免费观看| 玖玖爱视频在线| 亚洲精品videosex极品| а√中文在线资源库| 欧美—级高清免费播放| 婷婷综合电影| 男女无套免费视频网站动漫| 中文字幕成人网| 国产sm主人调教女m视频| 欧美疯狂xxxx大交乱88av| 国产三级精品三级在线观看国产| www黄色日本| 欧美激情一区二区在线| 国产精品无码免费播放| 国产做受高潮69| 偷拍亚洲色图| 手机免费av片| 亚洲一区二区三区中文字幕| 性感美女福利视频| 国产精品久久9| 欧美在线1区| 中文字幕影片免费在线观看| 欧洲一区二区三区在线| 黄色网页在线看| 国产综合动作在线观看| 人人精品人人爱| 免费视频一二三区| 亚洲毛片在线免费观看| 日韩福利在线观看| 国产美女主播在线播放| 欧美经典三级视频一区二区三区| 国产免费无遮挡| 欧美亚洲视频在线看网址| 欧美丰满日韩| 在线视频 日韩| 欧美日韩久久不卡| 91视频欧美| 国产三级中文字幕| 91麻豆福利精品推荐| 一本到在线视频| 欧美在线一区二区三区四| 97人人精品| 国产色视频一区二区三区qq号| 欧美电影一区二区| 女生影院久久| 久久手机在线视频| 中文字幕乱码日本亚洲一区二区| 粉嫩小泬无遮挡久久久久久| 国产精品亚洲第一区| 在线视频日韩| 黄色片在线观看网站|