99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Mongoose Queries 實戰(zhàn)指南:從 Model 查詢方法到 Query 構(gòu)建器、游標流式讀取與排序

Mongoose Queries 實戰(zhàn)指南:從 Model 查詢方法到 Query 構(gòu)建器、游標流式讀取與排序 Mongoose Queries 實戰(zhàn)指南從 Model 查詢方法到 Query 構(gòu)建器、游標流式讀取與排序【免費下載鏈接】mongooseMongoDB object modeling designed to work in an asynchronous environment.項目地址: https://gitcode.com/GitHub_Trending/mo/mongooseMongoose 的 Model 提供了find()、findOne()、updateOne()、deleteMany()等一系列靜態(tài)輔助函數(shù)用于對 MongoDB 集合執(zhí)行 CRUD 操作且每一個函數(shù)都會返回一個 mongooseQuery對象。本文以倉庫中的官方指南 docs/queries.md 為骨架結(jié)合 lib/query.js 與 lib/cursor/queryCursor.js 的源碼實現(xiàn)系統(tǒng)講解 Query 的兩種執(zhí)行方式、鏈式構(gòu)建器、thenable 陷阱、引用填充、游標流式讀取、與聚合管道的差異以及多字段排序幫助你寫出可預(yù)測、可調(diào)試、性能正確的查詢代碼。Model 的查詢靜態(tài)方法一覽Mongoose models 提供以下靜態(tài)輔助函數(shù)每個函數(shù)返回一個 mongooseQuery對象Model.deleteMany()Model.deleteOne()Model.find()Model.findById()Model.findByIdAndDelete()Model.findByIdAndRemove()Model.findByIdAndUpdate()Model.findOne()Model.findOneAndDelete()Model.findOneAndReplace()Model.findOneAndUpdate()Model.replaceOne()Model.updateMany()Model.updateOne()在源碼層面這些靜態(tài)方法最終都會構(gòu)造一個 Query 實例并執(zhí)行。以find()為例lib/query.js#L2547-L2564 中Query.prototype.find會設(shè)置this.op find然后通過merge(conditions)合并查詢條件Query.prototype.findOnelib/query.js#L2829則會額外處理投影與選項參數(shù)。Query 構(gòu)造函數(shù)lib/query.js#L116內(nèi)部維護了_transforms、_hooksKareem 中間件容器與_execCount記錄執(zhí)行次數(shù)這些字段是理解下文Query 不是 Promise的關(guān)鍵。執(zhí)行查詢的兩種方式執(zhí)行查詢時你將查詢條件寫成 JSON 文檔其語法與 MongoDB shell 完全一致const Person mongoose.model(Person, yourSchema); // 查找姓氏為 Ghost 的人只選擇 name 和 occupation 字段 const person await Person.findOne({ name.last: Ghost }, name occupation); // 輸出 Space Ghost is a talk show host console.log(%s %s is a %s., person.name.first, person.name.last, person.occupation);person的形態(tài)取決于具體操作findOne()返回一個可能為 null 的單個文檔find()返回文檔列表countDocuments()返回文檔數(shù)量updateOne()返回受影響文檔數(shù)等。更多細節(jié)見 Model 的 API 文檔。延遲執(zhí)行先用 Query 構(gòu)建再手動 exec()如果暫不await你會得到一個尚未執(zhí)行的 Query// 查找姓氏為 Ghost 的人 const query Person.findOne({ name.last: Ghost }); // 選擇 name 和 occupation 字段 query.select(name occupation); // 在之后的某個時刻執(zhí)行該查詢 const person await query.exec(); // 輸出 Space Ghost is a talk show host console.log(%s %s is a %s., person.name.first, person.name.last, person.occupation);上面的query變量類型是 Query。它允許你用鏈式語法逐步構(gòu)建查詢而不是一次性給出完整的 JSON 對象。從源碼看Query.prototype.execlib/query.js#L4744-L4761會先做三項校驗不再接受回調(diào)函數(shù)傳入函數(shù)會直接拋出Query.prototype.exec() no longer accepts a callback、校驗操作類型op與關(guān)聯(lián)的model是否為空隨后通過opToThunk表查找到對應(yīng)操作的執(zhí)行函數(shù)。這也解釋了為什么先構(gòu)建、后執(zhí)行的延遲模式是可行的——Query 對象本身只是條件與選項的容器。JSON 文檔寫法與 Query 構(gòu)建器寫法等價下面兩個例子完全等價你可以按場景自由選擇// 方式一一次性傳入 JSON 文檔 await Person. find({ occupation: /host/, name.last: Ghost, age: { $gt: 17, $lt: 66 }, likes: { $in: [vaporizing, talking] } }). limit(10). sort({ occupation: -1 }). select({ name: 1, occupation: 1 }). exec(); // 方式二使用 Query 構(gòu)建器鏈式組裝 await Person. find({ occupation: /host/ }). where(name.last).equals(Ghost). where(age).gt(17).lt(66). where(likes).in([vaporizing, talking]). limit(10). sort(-occupation). select(name occupation). exec();構(gòu)建器模式由一組可鏈式調(diào)用的方法支撐。在 lib/query.js 中可以看到它們的實現(xiàn)輪廓limit(v)lib/query.js#L932會把值寫入this.options.limit并返回thisselect()lib/query.js#L1128內(nèi)部通過parseProjection解析字段投影并支持sanitizeProjection選項sort(arg, options)lib/query.js#L3135最多接受 2 個參數(shù)并將排序?qū)懭雝his.options.sort。所有方法都返回this從而形成鏈式調(diào)用。完整的方法清單見 Query 的 API 文檔。Queries 不是 Promise但它們是 thenableMongoose 的 Query不是Promise。它們只是 thenable擁有.then()方法的對象為async/await提供便利。關(guān)鍵在于與 Promise 不同調(diào)用 Query 的.then()會真正執(zhí)行查詢因此對同一個 Query 多次調(diào)用then()會拋出錯誤。const q MyModel.updateMany({}, { isDeleted: true }); await q.then(() console.log(Update 2)); // 拋出 Query was already executed: Test.updateMany({}, { isDeleted: true }) await q.then(() console.log(Update 3));源碼給出了直接證據(jù)。lib/query.js#L4901-L4934 中三個方法都通過exec()觸發(fā)真正的執(zhí)行Query.prototype.then function(resolve, reject) { return this.exec().then(resolve, reject); }; Query.prototype.catch function(reject) { return this.exec().then(null, reject); }; Query.prototype.finally function(onFinally) { return this.exec().finally(onFinally); };也就是說await query、query.then(...)、query.catch(...)、query.finally(...)都會各自觸發(fā)一次查詢執(zhí)行。如果想要安全的重復(fù)使用查詢條件請保留原始 Query 并在每次執(zhí)行前通過鏈式方法復(fù)制/重建或者直接對同一條件對象多次調(diào)用 Model 靜態(tài)方法而不是復(fù)用同一個 Query 實例。引用其他文檔PopulationMongoDB 沒有 join但有時我們?nèi)匀幌M樵兘Y(jié)果中能包含其他集合中文檔的引用。這正是 population填充 的用武之地。關(guān)于如何在查詢結(jié)果中引入其他集合的文檔詳見 Query#populate 的 API 文檔。Population 是查詢階段的可選步驟先執(zhí)行原始查詢拿到主文檔再根據(jù)ref與本地外鍵字段批量發(fā)起對目標集合的二次查詢從而在業(yè)務(wù)層面模擬出關(guān)聯(lián)查詢的效果。流式讀取Query#cursor() 與 QueryCursor你可以從 MongoDB流式讀取查詢結(jié)果。需要調(diào)用 Query#cursor() 獲取一個 QueryCursor 實例const cursor Person.find({ occupation: /host/ }).cursor(); for (let doc await cursor.next(); doc ! null; doc await cursor.next()) { console.log(doc); // 逐條打印文檔 }源碼層面Query.prototype.cursorlib/query.js#L5368-L5386在創(chuàng)建游標前會先調(diào)用_castConditions()進行條件轉(zhuǎn)換若轉(zhuǎn)換失敗例如過濾器含有sanitizeFilter拒絕的$where會返回一個標記了錯誤的 QueryCursor否則返回new QueryCursor(this)。QueryCursor.prototype.nextlib/cursor/queryCursor.js#L307-L333同樣不再接受回調(diào)內(nèi)部以 Promise 形式逐條取文檔并對已關(guān)閉的游標調(diào)用next()拋出Cannot call next() on a closed cursor。使用 async iterators 遍歷使用 async iterators 遍歷 Mongoose 查詢也會自動創(chuàng)建游標for await (const doc of Person.find()) { console.log(doc); // 逐條打印文檔 }在 lib/cursor/queryCursor.js#L434-L440 中可以看到實現(xiàn)當Symbol.asyncIterator存在時QueryCursor.prototype[Symbol.asyncIterator]會設(shè)置_mongooseOptions._asyncIterator true并返回自身后續(xù)_next回調(diào)會把結(jié)果包裝成{ value, done }形式lib/cursor/queryCursor.js#L476-L483。測試 test/query.test.js 中也有對應(yīng)的遍歷用例例如使用for await消費經(jīng)過transform()處理后的游標結(jié)果。游標超時與 noCursorTimeout游標受游標超時約束。默認情況下MongoDB 會在 10 分鐘后關(guān)閉游標之后的next()調(diào)用會拋出MongoServerError: cursor id 123 not found。要覆蓋這一行為請為游標設(shè)置noCursorTimeout選項// MongoDB 不會在 10 分鐘后自動關(guān)閉該游標 const cursor Person.find().cursor().addCursorFlag(noCursorTimeout, true);不過游標仍然可能因為會話空閑超時session idle timeouts而失效即使設(shè)置了noCursorTimeout游標在空閑 30 分鐘后依然會超時。這在 MongoDB 官方文檔中也有明確說明cursor.noCursorTimeout一節(jié)。因此對于長時間運行的批處理任務(wù)更穩(wěn)妥的做法是控制單批處理時長、及時關(guān)閉游標或?qū)?shù)據(jù)按時間片拆分查詢而不是無限期依賴noCursorTimeout。何時使用 aggregate()Queries vs AggregationAggregation聚合 能做很多查詢能做的事情。例如下面是用aggregate()查找name.last Ghost的文檔const docs await Person.aggregate([{ $match: { name.last: Ghost } }]);但能用不等于應(yīng)該用。一般來說能用普通查詢就優(yōu)先用查詢只有確實需要時才使用aggregate()。兩者的關(guān)鍵差異有三點1. 聚合結(jié)果不做 hydrate與查詢結(jié)果不同Mongoose不會對聚合結(jié)果調(diào)用hydrate()。聚合結(jié)果永遠是普通對象POJO而不是 Mongoose 文檔const docs await Person.aggregate([{ $match: { name.last: Ghost } }]); docs[0] instanceof mongoose.Document; // false這意味著聚合結(jié)果沒有 Mongoose 文檔的實例方法、getter/setter、虛擬字段與修改追蹤能力如果你需要這些能力必須對結(jié)果自行 hydrate 或做二次查詢。2. 聚合管道不做類型轉(zhuǎn)換cast與查詢過濾器不同Mongoose不會 cast類型轉(zhuǎn)換 聚合管道。也就是說你必須自己保證傳入聚合管道的值類型正確const doc await Person.findOne(); const idString doc._id.toString(); // 能查到這個 Person因為 Mongoose 把 idString 轉(zhuǎn)換成了 ObjectId const queryRes await Person.findOne({ _id: idString }); // 查不到這個 Person因為 Mongoose 不轉(zhuǎn)換聚合管道中的類型 const aggRes await Person.aggregate([{ $match: { _id: idString } }]);這是實踐中非常容易踩坑的地方查詢條件中的字符串 ObjectId 會被自動 cast而聚合管道的$match則不會。從源碼結(jié)構(gòu)看查詢條件在 lib/query.js 的_castConditions/castFilterPath鏈路中會基于 Schema 類型逐路徑轉(zhuǎn)換而 lib/aggregate.js 對管道階段默認不做同樣的 Schema 級 cast。因此在使用聚合時請先用mongoose.Types.ObjectId(...)等構(gòu)造函數(shù)顯式轉(zhuǎn)換類型。3. 關(guān)于 type casting 的進一步閱讀想深入了解 Mongoose 對查詢條件、更新條件與聚合條件的類型轉(zhuǎn)換規(guī)則包括字符串化 ObjectId、數(shù)字與日期的隱式轉(zhuǎn)換邊界請閱讀 查詢類型轉(zhuǎn)換指南。排序保證結(jié)果順序可控Sorting 用于確保查詢結(jié)果按期望的順序返回const personSchema new mongoose.Schema({ age: Number }); const Person mongoose.model(Person, personSchema); for (let i 0; i 10; i) { await Person.create({ age: i }); } await Person.find().sort({ age: -1 }); // 返回結(jié)果以 age10 開頭 await Person.find().sort({ age: 1 }); // 返回結(jié)果以 age0 開頭-1表示降序1表示升序也可以使用字符串形式sort(-age)/sort(age)這也是上文構(gòu)建器示例中sort(-occupation)的寫法。多字段排序鍵的順序決定優(yōu)先級多字段排序時排序鍵的書寫順序決定了 MongoDB 服務(wù)端先按哪個字段排序const personSchema new mongoose.Schema({ age: Number, name: String, weight: Number }); const Person mongoose.model(Person, personSchema); const iterations 5; for (let i 0; i iterations; i) { await Person.create({ age: Math.abs(2 - i), name: Test i, weight: Math.floor(Math.random() * 100) 1 }); } await Person.find().sort({ age: 1, weight: -1 }); // 先按 age 升序age 相同時再按 weight 降序下面是一次實際運行的輸出可以看到 age 從 0 升到 2而在 age 相同的記錄之間則按 weight 降序排列[ { _id: new ObjectId(63a335a6b9b6a7bfc186cb37), age: 0, name: Test2, weight: 67, __v: 0 }, { _id: new ObjectId(63a335a6b9b6a7bfc186cb35), age: 1, name: Test1, weight: 99, __v: 0 }, { _id: new ObjectId(63a335a6b9b6a7bfc186cb39), age: 1, name: Test3, weight: 73, __v: 0 }, { _id: new ObjectId(63a335a6b9b6a7bfc186cb33), age: 2, name: Test0, weight: 65, __v: 0 }, { _id: new ObjectId(63a335a6b9b6a7bfc186cb3b), age: 2, name: Test4, weight: 62, __v: 0 } ];排序在 lib/query.js#L3135 的sort()實現(xiàn)中被寫入this.options.sort最終以 MongoDB 排序規(guī)范{ field: 1|-1 }對象或field -field字符串下發(fā)給驅(qū)動。若需跨字段穩(wěn)定排序請始終顯式給出完整鍵序列不要依賴數(shù)據(jù)庫的自然順序。小結(jié)與下一步Mongoose Query 的核心心法可以概括為四點兩種寫法等價一次性 JSON 文檔 vs 鏈式 Query 構(gòu)建器選一種并保持一致Query 是 thenable 而非 Promise.then()/await都會執(zhí)行查詢不要重復(fù)調(diào)用同一個 Query大數(shù)據(jù)量用游標cursor()for await逐條處理注意 10 分鐘默認超時與 30 分鐘會話空閑超時的邊界查詢優(yōu)先于聚合聚合不 hydrate、不 cast能寫查詢就寫查詢。接下來可以繼續(xù)閱讀 Validation校驗學習如何在查詢與文檔保存前定義數(shù)據(jù)校驗規(guī)則。【免費下載鏈接】mongooseMongoDB object modeling designed to work in an asynchronous environment.項目地址: https://gitcode.com/GitHub_Trending/mo/mongoose創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
综合久色五月| 日本婷色| 国产97色在线 | 日韩| 丁香五月激情综合| 婷婷综合五月天| 婷婷偷拍网| www.99精品日操伊人乱碰在线| 婷婷五月精品中文字幕| 99热6精品| 久操操| 99天堂在线观看免费视频| 大香蕉九操| 五月婷婷精品无在线| 97丁香五月| 日本不卡一区二区三区| 久久伊人大香蕉| 99色视频| 色五月婷婷大香蕉| 色日本综合| 五月婷婷免费| 五月天婷婷丁香视频| 精典久久| 96丁香六月婷婷蜜桃综合久久| 啪啪视频99| 99热在线观看免费精品| 五月天亭亭俺也| 色综合激情| 色色成人網| 操人久久| 99在线视频色版| 久久伊人婷| 国产人妻777人伦精品HD| 五月丁香六月情| 天天插天天很| 五月天激情小说婷婷基地| 婷婷五月色| 综合色吧| 伊人五月天综合网| 99re这里只有精品国产99| 激情五月天啪啪| 婷婷五月综合免费在线| 91|九色|动漫| 99re6热在线精品视频播放速度| 六月丁香激情| www.99视频| 婷婷的久久网站| 黄网在线观看免费| 久久99热这里只有| 成人狠狠成人狠狠成人狠狠成人狠狠| 激情五月天婷婷视频| 五月婷婷久久内射| 成人五月天视频播放| 另类小说婷婷色| 激情网开心网| www.com五月天| 99er久久| 综合久久97| AA久久| 五月丁香婷婷深深爱| 人人摸人人澡人人| 99热伊人| 91VIP在线观看| 超碰免费人人肏| 亚洲图片 丁香婷婷| 久久激丁香| 五月婷婷欧洲| www.91在线观看| 思思99久久| 99热综合在线| 蜜乳国产网站| 亚洲成人网站在线观看| 天天色中文字幕女优AV| 久99热在线观看| 色五月婷婷av| aaa日韩| 日韩欧美骚货| 99久久九九| 99色性爰网络| www.九九婷婷| www.av视频xx999.com| 9er热在线精品视频| 天天爽曰日爽| 伊人久久婷婷| 丁香五月www| 射区导航| 激情都市五月天| 狠狠操狠狠操AV| 丁香五月香蕉| 蜜乳AV成人| 9热在线观看| 婷婷色播色五月五色五月天色妇| 天天搞天天爽| 伊人五月婷| 丁香六月成人网| 日本久久综合| 综合XX网| 99精品网址| 五月天无码| 婷婷十月丁香| 内射在线CHINESE| 免费观看高清无码| 天天插天天日天天爽| 日日噜噜夜夜狠狠久久丁香六月| 日韩在线视频9色| 久热黄色| 五月激情影院| 沈娜娜av| 激情婷婷五月色| 午夜成人网站在线观看| 五月丁香婷婷激情四射迷人| 五月天婷婷开心| 五月激情六月综合| 百度一下国产精品A| 九九自拍网| 99er6热在线观看精品6| 1024操逼| 丁香五月狠狠综合欧美| 国产真实乱了老女人视频| www.久久久久久| 梁铮版蜘蛛女在线观看| 大香蕉九九| 六月色婷婷综合影视| 亚洲综合网激情小说| 久久天堂| 人人操操| 另类 在线| 色色色五月天婷婷| 五月丁香婷婷中文网| www色色色com| 26uuu精品一区二区| www色哟哟| 六月色狠狠色| 国产成人AV| 色婷婷色五月另类综合| 大香蕉综合| 色婷婷88| 成人丁香五月天| 99精品高潮| 日日狠狠久久偷偷四色综合免费| 激情 久久 婷婷| 亚洲婷婷丁香五月在线| 色婷婷丁香五月| 日本色频| 拍真实国产伦偷精品| 成人短视频在线| 色色色在线观看| 日本97久久久精品| 91操片| 色婷婷综合电影| 另类视频丁香五月| 男人天堂AV在线一区二区| 婷婷五月中文字幕国产| 丁香花婷婷五月天| 粉嫩av蜜桃av蜜臀av| 久久图色4| 99精品在线| 亚洲成人九九九| 六九色综合婷婷五月天| www.久久久久久久| 五月天激情网图片| 五月激情网站| 欧美性久| 婷婷五月在线视频| 丁香五月婷婷激情中文| 久久五月天色婷婷| 婷婷六月天| 狠狠va| 精品9197碰| 欧美天天干天天草| 91色吧网| 成人国产欧美大片一区| 99这里只有精品|v| 丁香五月花婷婷开心| 国产激情久久久| 五月丁香av在线| 狠狠一日| 亚洲操b| 婷婷五月天伊人在线| 欧美性猛交AAAA片黑人 | 婷婷综合成人五月天| 性爱激情综合网| 99在这里有精品| 超碰人人99| 超碰在线观看99| 精品国产va久久久久| 免费超碰在线观看| 婷婷综合色图| 这里只有免费的精品| 九月婷婷激情久久| 六月婷婷色综合| 激情五月五月五月婷婷| 人人操日| 99热大| 99九九热视频| 激情婷婷另类| www.99色| 婷婷激情综合色五月久久图片| 五月婷婷综合激情网| 日日操夜夜爽天天天| 丁香六月婷婷激情| 丰满少妇乱A片无码| 一级操逼内射在线视频| 成人超碰AV| 98色丁香五月婷婷综合网| 五月丁香啪啪啪| 亚洲色亚洲精品| 丁香六月婷婷综合| 成人免费网站免费看| 国产毛片精品一区二区色欲黄A片| 成人狠狠成人狠狠成人狠狠成人狠狠| 九九久久五月天综合伊人| 9色91视频| 97人人搞| 亚洲第一综合| av中文网站| 色噜噜狠狠色综合AV兰草影视| 激情综合网激情五月婷婷| 丁香色五月 97干| 丁香六月亚洲综合 | 人人操操| 欧美三级视频下载| 97操资源婷婷| WwW色婷婷| 黄网免费看| 婷婷情色激情| 色色丁香激情五月| 九九机热| 婷婷丁香五月天中文字幕| 婷婷五月丁香六月伊人网| 99久久99久久| 超碰9| 丁香色情五月综合激情| 99久久喉9| 九九色热| 欧美25p| 丁香五月天激情综合| 激情五月亚洲综合网| 色色婷| 99视频九九热| 亚洲熟女色| 性爱五月婷| 伊人久久丁香狠狠婷婷综合香蕉 | 综合色五月天| 成人AV在线网站| 91久久婷婷| 六月丁香六月婷婷欧美| 久久久久亚洲AV成人无码电影| 热99一二三| 久9综合| 色综合天天| 99热这| 色婷婷大香蕉| 狠狠操狠狠爱| 风流少妇A片一区二区蜜桃 | 五月婷婷人人人操| 丁香色五月 97干| 九九无码| 99爱在线精品视频免费观看| 色综合久| 五月婷婷伊| 色色六月| 91精品91久久久中77777久久玖玖九九 | 狠狠香蕉| 丁香亚洲婷婷五月| 天天草天天摸| 1024日韩| 日韩一区二区A片免费观看| 精品成人无码A片观看香草视频| 激情第四色| 99网| 婷婷丁香黄色| 婷婷色五月激情| 色播五月丁香| 激情美女五月天激情在线| 综合热无码| 午夜激情五月天| 中文AV网站| WWW.桔色成人.COM| 久久人妻视频| 欧美熟妇一区二区三区| 欧洲99视频在线| 丁香六月天婷婷色| 激情综合五月开心狠狠| 狠狠操狠狠操AV| 国产毛片欧美毛片久久久| 性做爰A片免费视频A片直播| 麻豆精品| 五月婷婷久久开心网| 丁香六月天婷婷开心综合| 婷婷五月丁香基地| 日日夜夜干| 亚洲成人AV高清字幕| 操比激情五月| 亚洲中文无码成人| 久久久免费精彩视频| 天天噜日日噜综合无码| 久综合4| 色色五月天网站| 天天爽天天日人人爱| 激情小说之五月| 欧洲色| 开心五月深爱五月| 久久免费试看120秒| 亚洲黄色影视| 少妇高潮呻吟A片免费看软件| 久久婷婷六月综合国际| 日本综合色图| 久久婷婷五月综合| 五月成人丁香av91| 欧美成人无码一区二区三区| 成人va视频| av大香蕉| 97综合在线| 狠狠五月综合在线| 五月丁香久久| 九月激情网| 五月婷婷伊人久久| 五月丁香六月激情综合| www.91操| 日韩一级网站| 精品九九婷婷| 人人人舔人人人操人人人摸人人人97| 婷婷综合久久| 久久五月婷| 激情综合色婷婷六月天| 日本美女97在线视频| 久9视频| 亚洲AV成人无码久久精品老人法拉利| 久久久国产精品黄毛片| 欧美成人无码一区二区三区| 老司机伊人| 9九色首页| 婷婷狠狠五月综合| AA片在线观看视频在线播放| 综合亚洲色色| 五月丁香六月在线| 九九色婷婷| 五月天精品| 国模狼狼| 久久A V无码视频| 中文字幕在线免费看线人| 99在线热| 久热超碰| 久青青久| 激情小说五月天| 在线中文av| aaa久久| 亚洲人人操| 人人爱人人添| 亚洲激情| 天天噜| 日本高清不卡免费一区二区三区| wwwwww.色| 欧美成人一区二区三区在线视频| 亚洲五月天伊人| 91啪啪视频| 天天操天天日天天爱| 久久网日本| 色私五月婷婷| 色播五月网| 丁香五月天啪啪| 思思热视频| 久操大香蕉| 久久婷色| 丁香五月色综合色播五月| 色99视频| 精品久久久久久久人妻| 亚洲成片在线观看| 在线成人网站| 激情五月图| 五月丁香婷婷色| 亚洲色色爱| 97高清国语自产拍| 五月天,激情四射,婷婷频道| 神马欧美精| 综合久久影院| 日日干综合| 大香蕉 婷婷| 这里只有精品9| 亲子乱av一区二区三区的| 九九无码| 亚洲激情无码久久| 五月天大香蕉AV| 九九这里是免费的视频5| 久久婷五月综合| 97超碰人人操| 91视屏在线观看com.wwwvv| 桃色五月婷婷| 棕合影院色色| hd五月婷婷在线| 男同色五月开心五月激情五月| 99综合色| 99re熱| 超碰只有精品在线| 性色婷婷| 五月色婷婷AV| 999激情视频| 六月丁香五月婷婷| 欧美成人日韩| 夜夜操少妇| 伊人超碰在线| 久久性爱视频网站| 成人色五婷婷| 五五月五月| 综合五月丁香97| 99热这里只有精品1| 日日操人人操| 做爱夜夜干天天操| 色欧美影院| 丁香五月性爱| 9久热免费视频99| 狠狠色情婷婷| 97天堂| 大香蕉视频婷| 无码少妇高潮喷水A片免费| 狠狠狠狠狠狠| 26uuu亚洲欧美| 天天色天天射天天日| 日本黄色三级片内射| 天天操中文字幕| 亚洲综合婷婷| 亚洲综合新99视频| 国产成人av在线| 九月婷婷激情久久| 久久婷婷七月丁香| 国产69久久久欧美黑人A片| 久久综合首页| 夜夜干夜夜操| 激情久久综合网| www.日本久久videos| 激情玖玖综合网| 99精品视频免费观看| 综合网视频| 午夜九九电影| 色婷婷视频| 91色色色18| 色原狠狠综合| Av免费网站在线| 欧美色综合天天久久综合精品| AV在线大香蕉| 99ri国产在线| 久久婷婷五月综合色奶水99啪| 婷婷五月天在线观看第二页| 综合深爱五月| 狠狠狠五月婷婷六月丁香| 婷婷八月激情| 啪啪91| 98色花堂98t.R| 欧美高潮9| 亚洲AV在线免费看| 日本熟妇乱妇熟色A片蜜桃| 亚洲最大视频| 亚洲第一综合| 熟女人妻视频| 中文字幕婷婷9月天| 九九成人| 色欧美色色色| 日本三级第一页| 免费黄网不卡AV| 八戒青柠影视剧在线观看| 亚洲综合五月天| 五月亭亭直播| 大香蕉啪啪网| 久久久一级AAA| 天堂伊人干| 中文字幕视频色婷婷| 五月婷婷色色| 色婷婷伊人激情在线观看| 超碰9799| 秋霞少妇毛片| 亚洲AV网址| 激情综合久久| 婷婷六月婷婷| 99热无码| 久久伦乱| 色99在线| tingtingcaobi| 亚洲成人无码专区| 久久大香免费| 99热超碰| 人人看人人草人人摸| 五月婷六月天| 国产精品爽爽久久久久久| 五月色婷婷中文字幕| 久99热| av中文在线| 国产五月视频| 99精品偷拍视频| 九热视频在线精品15| 日韩啪啪视频| 婷婷五月色丁香在线看| 啪啪操超碰| 五月天婷婷色综合| 丁香五月亚洲综合丝袜| 91久久五月天| www.五月天性.com| 天天舔天天摸| 国产成人片| 青青草99re| 婷婷六月啪啪| 九色色| 超碰在线观看9| 在线99热| 色99无码| 情婷婷五月天在线| 丁香五月AV| 成片免费播放| 婷婷综合在线播放| 三十路磁力链接| 操九色| 国产69久久久欧美黑人A片| 超碰啪啪网| 亚洲成人免费电影| 拳交大逼| 八戒青柠影视剧在线观看| 九热视频免费观看| 人色五月天婷婷| 狠狠狠狠狠干| 国产婷婷婷| 久久作爱| 九九热视频这里只有精品| 五月激情在线| 91九色国产在线| 99成人无码| 五月婷婷影| 久久综合综合综合| 五月天婷婷伊人| 大香蕉五月天婷婷| 婷婷综合偷拍| 激情婷婷网| 啊v视频在线观看| 婷婷综合偷拍| 开心五月深爱婷婷| 亚洲亚洲人成综合网络| 五月丁香六月婷婷综合在线| 色99色| 国产亚洲AV人片在线| eeuss人妻| www.射伊蕉婷婷| 五月婷婷碰碰| 丁香婷婷啪啪啪| 九九在线视频| 色九网| 色欲久久久久久综合网综合网| 亚洲综合色婷婷文学| 精品九九在线观看| 天天草天天爽| 五月婷婷激情刺激| 欧美婷婷丁香五月社区| 五月丁香久久呀| 欧洲激情精品婷婷| 五月丁香A∨在线| www.lingjunshare.com| 中文字幕婷婷9月天| 国内婷婷丁香社区在线播放| 日韩无码专区| 青青草a在线| 婷婷久久五月天| 久久婷婷五月| 人妻人人操| 婷婷五月天成人在线视频| 欧美99视频| 骚五月婷婷| 丁香五月六月婷婷综合| 天天肏高清在线| 丁香五月激情婷婷婷婷在线观看| 色五月自偷自拍婷婷婷婷| 人。妻久久| 91丨人妻丨国产丨丝袜| 99视频在线精品| 午夜免费高清AV片| 在线观看av网站| 99色五月| 婷婷六月综合激情| 丁香婷婷偷拍| 婷婷九九色| 色色网站在线| 热五月婷婷| 超碰91在线| 婷婷综合另类小说| 精品无码久久久久久久久| 国产六月婷婷| 天天视频精品9| 99成人在线观看| 九九热10| h在线看免费版在线看| 丁香五月大片| 一级性感毛片| 亚洲精品亚洲人成人网| 五月婷婷综合激情| 自拍视频在线观看9| 色婷婷精品视频| 91精品久久久久| 天天做天天爱| 五月播播| 91操操| 综合色在线| 99视频久久| 伊人激情综合网| 色综合久久久久| 99爱精品视频| 五月丁香另类图片| 色综合综合综合| 另类图片激情五月| 啪啪一区| 自拍盗摄 另类| 丁香五月婷婷亚洲另类| 99亚洲天堂| 伊人五月成人| 婷婷和五月天| 色爱综合五月| 狠狠操天天干| 天天爱天天秀天天做| www,8050,午夜三级| 亚洲成人AV高清字幕| 99热成人精品网站| 亚洲综合网激情小说| Aα在线免费观看| 综合五月天| 久久免片| 天天综合图片| 任你爽视频| .肏屄视频一区二区| 操91| 五月丁香六月婷婷久久| 婷婷五月天播| 国产精品电影网| 97超碰,人人舔,人人操,人人摸| 久久婷狠狠色| 天天干天天干天天干天天干天| 成人视屏在线观看| 美女91一起草| 伊人婷婷福利网| 综合婷婷| 99色在线观看视频| www色综合| wWw色五月| 4399在线观看免费高清黄色视频| 五月天操逼激情| 色播五月| 婷婷精品在线| 六月激情综合| www.狠狠艹| 亚洲综合色丁香五月天| 夜夜人妻五月天| 久久久WWW| 一区三区视频有限公司| 五月婷婷之综合激情在线| 欧美成人A片AAA片在线播放 | 婷婷中文无码| 99在线热视频| 99久久.www| 综合久久狠狠| 色欧美一级| 久久久天堂国产精品女人| 激情四射五月天| 思思99久久| 久久视频婷婷| 丁香五月天社区| 99久在线精品99re8| 婷婷丁香五月噜噜噜| 婷婷五月天无码视频| aaaaa黄色| 色婷婷久久| 丁香婷婷六月天| 99久扒热| 色五月天丁香| 99热9| 欧美A级网站| 婷婷久久网| 婷婷五月天综合网| 五月婷视频久久| 久久久中文| www.99热| 狠狠狠狠狠狠草| 五月天婷婷激情干干| 综合在线丁香五月| 久久婷婷五月天激情唯美| 激情综合六月| 亚洲五月天激情| 丁香五月激情网| 8区视频在线| 久久综合爱| 五月婷婷久久综合| 丁香婷婷天堂| 色吊丝av中文字幕| 99热国内精品| 男人天堂伊人五月丁香| 伦99热| 午夜婷婷五月天| 99在线小视频| 色婷天天| 狠狠五月天| 91碰人人| 激情性爱五月| 天天日夜夜B久久| 九九婷婷五月天影视| 五月婷婷网五月在线| 五月天激情综合| 久草婷婷| 久久性都花花世界成人免费视频| 一区二区aV电影免费看| 丁香六月激情综合| 天天摸天天高潮天天爽| 婷婷成人AV| 91一起操| 亚洲免费电影2| 色综合九九| 五月天综合区| 欧美天堂久久| 少妇水多A片太爽了| 日本久久极品| 婷婷五月色花丁香社区| 天天插天天操| 日韩九区| 99在线视频女女视频| 热的五码久久精品| 婷婷播5月| 午夜天堂啪啪| 99视频91| 丁香五月激情六月| 九色自拍| 亚洲AV电影av| 五月丁香婷成人网| 色婷婷丁香五月| 熟女少妇内射日韩亚洲| 99色热视频| 国产日日操夜夜操的肉棒视频| 97碰碰在线看视频免费| 91碰免费视频| 丁香五月天激情五月天激情五月天激情网 | 综合色婷婷| 亚洲激情高潮| 久久婷婷网| 婷婷五月丁香99| 激情小说五月丁香在线视频观看视频| 久久丁香五月天| 色色五月婷婷网| 婷婷五月四狠狠| 人妻内射视频| Aaa久久| 综合激情网五月激情| www.yw色| 人人操91色| 青青草六月丁香| 思思热99热| 99久精品视频| 天天天天天日| 91大屁股在线| 伦99热| 色区久久| 俺来也综合网精品一区| 九九婷婷综合| 日熟女| 日本婷婷色日| 天天久久婷婷| 99综合免费视频| 嫩草极品| 思思热在线精品视频网站| 激情99| 亚洲五月天,激情视频| 97操碰在线视频| 丁香五月天婷婷大香蕉| 九九色视频| 万月丁香狠狠爱| 五月色导航| 日本不卡高字幕在线2019| 成人天天爽| 婷婷五月天堂| 99色综合网| 久久人人妻| 久久99视频| 九九色色| 久热只有这里有精品| 这里只有精品免费视频| av大香蕉| 激情久久久| 秋霞午夜理论| 免费视频WWW在线观看网站| 欧美激情五月天在线观看| 久久怡红院| 天天色,天天操,天天射| Av狠狠色丁香婷| 99久久精品视频女神1| 亚洲欧美成人在线观看| 五月天激情电影| 噜噜五月天综合| 五月草视频| 日韩黄色电影| 日韩成人免费电影| 黄色99视频| 国产在线aaa片一区二区99| 久久er99热精品一区二区 | 五月婷婷无码| 久久国产高清| 九九综合九九| 美女五月天婷婷| 91 欧美| 夜丁香五月婷婷| 色色婷婷婷丁香五月天| 9热视频在线观看| 欧美99| 国产精品日本一区二区在线播放| 久久九九在线视频| 久久综合色五月| 天天色综网| 婷婷五月开心中文字幕色| 九月丁香八月婷婷加勒比| 丁香五月成人社区| 天堂久久精品| 黑人巨粗进入警花疼哭A片| 国产资源91在线| 91激情五月开心| 亚洲色五月| 深爱激情网综合| 精品成人在线观看| 亚洲国产精品VA在线看黑人| 九九热最新地址| 丁香婷婷久久 | 日本五月婷婷久久久六月丁香| 亚洲婷婷性爱| 精品久久久999| 丁香五月第九色| 99视频在线观看视频| 亚洲婷婷免费| 色久五月天| 婷婷五月综合激情| wuyuedingxiang| 综合久久99| 99热这里只有的精品视| 成人av免费观看| www.99.色| 欧美婷婷| 欧美VA在线| 六月丁香成人| 色天堂操| 亚洲精品又粗又大又爽A片| 99精品无码| 狠狠色丁香婷婷基地| 六月撸婷婷| 99天堂在线观看免费视频| 午夜成人AV在线| 五月丁香六月婷婷亚洲| 狠狠搞五月天| 97碰免费精采视频| 日韩在线看AV| 丁香五月av| 日本女人久久| 婷婷五月激情视频| 色五月婷婷少妇人妻| 久9无码视频| 百度一下国产精品A| 五月丁香六月婷| 婷婷五月天综合网| 五月丁香六月婷综合成人综合| 五月天婷婷色色| 狠狠综合色网| 9视频在线成人网站| 婷婷激情图片| 丁香大香蕉| 五月丁香综合在线| 国产高清精品色| 五月丁香婷婷无码A∨| 九九热av| 开心五月婷婷婷美女| 激情性爱婷婷| 色图亚洲91| 久久久99精品免费观看| 九九aV| 欧美一级色| 神马欧美精| 色色射| 天天摸色吧天天摸色吧| 久久五月天黄色五月天色网址| 桃色Av色哟哟| 青青.com| 色婷婷基地在线| 337p大胆噜噜噜噜噜91Av| 激情五月,激情综合网| 操操日韩| WWW.久久久久久久久久久久久| 北条麻妃伊人| 五月精品99综合| 五月婷婷 婷婷五月 一区二区 久久久 | 亚洲激情Av| 婷婷黄色网| 亚洲欧美日韩另类| 艹色18p| 丁香五月综合激情久久潮喷| 大香蕉网 久久| 婷婷五月天国产性感美女演员久久久久| 风流少妇A片一区二区蜜桃| 极品人妻VIDEOSSS人妻| 欧美激情综合色综合啪啪五月| 香蕉综合网| 国产精产国品一二三在观看| 丁香五月av| 嫩草AV久久伊人妇女超级A| 亚洲亚洲人成综合网络| 五月天婷a在线| 久久玖玖99| 狠狠se| 91要啪| 青草青草久热这里只有精品| 无码se| 丁香五月婷婷久久久| 五月天激情网址| 五月婷在线视频免费播放| 亚洲视频图片婷婷五月| 综合色色色| 97操视频| 精品无码久久久久久久久| 日本一级淫| 加勒比久热| 91婷色| 久久婷婷五月国产激情综合片| 色婷婷婷婷成人网| 五月好婷婷| 91日视频| 亚洲免费看片| 人碰人人人玩91| 婷婷五月精品中文字幕| www.色婷婷| 天天摸日日舔狠狠添婷婷婷| 直接看的AV| 99热18| AV网在线| 亚洲免费观看高清完整版AV线| WWW.天天日| 天天草天天日| 生活片五区| 99热在线观看| pom538精品视频| 九九热在视频| 天天色视频| 二色av| 久久国产高潮白浆免费观看99| 大香蕉综合| 五月婷婷九月婷婷九月婷婷| 色域五月婷婷丁香| 成人无码精品1区2区3区免费看| 久久一伦| 无码网| 爱婷婷都市激情| 激情五月天色播| 夫妻超碰在线| 久久五月六月| 五月婷婷五月天| 99精品国产乱码久久久人妻| 激情婷婷九月| 人人干AV| 四色99久久| 五月伊人婷婷999| 婷婷另类开心| 91avse| 99福利视频导航| 婷婷五月丁香综合亚洲| 亚洲va在线∨a天堂va欧美va| av在线资源| 婷婷狠狠97| 思思99热这里只有精品6| 亚洲精品99| 99综合成人视频在线观看| 人妻性爱| 92久久| 久久日曰| 色婷婷五月婷婷五月婷婷五月| 久久婷婷综合网| 五月婷婷精品视频| 久久香蕉婷婷五月天| 97人人看| 在线91日韩| 丁香五月网| 九九热精品| 91人妻人人操人人爽| 婷婷五月天综合小说网| 国产精品久久久久久久久久| 91超碰九色| 99操免费视频| 综合日本婷婷| 色爱终和网| 男女啪啪做爰高潮无遮挡| 激情视频婷婷五月花| 人人综合久| yazhochengrenavwang| 丁香五月激情图片| 日本一级淫| 综合狠狠五月婷婷| 99色热| 久色视频在线| 色吧五月婷婷| 激情综合网五月丁香| 婷婷五月在线观看| 97在线视频 欧美| www.ppypp| 精品热九九| 婷婷五月天亚洲图片| 亚洲精品久久久久久久久久飞鱼| 777色婷婷爱五月| 久99| 玖玖在线视频福利| 色五月激情综合网| 五月婷婷无码| 夜夜骑夜夜撸| 五月天日日操夜夜操 | 国产精女同一区二区三区久| 99re思思精品在线观看| 亚洲九N| 99福利视频| 丁香六月丁香婷婷激情| 婷婷五月噜噜| 亚洲人成网站999综合| 成人五月天视频播放| 色婷婷色丁香色欲av| 丁香五月婷婷六月| 亚洲成人AV在线| 五月开心网| 综合色五月天| 激情六月婷婷| 激情五月黄色小说| 国产亚洲精品AAAAAAA片| 国产又黄又爽又激情不遮挡视频在线观看| 最近免费中文字幕大全高清大全1 免费看欧美成人A片无码 | 五月丁香六月香综合激情| 岛囯综合激情网| 26uuu成人网| 91视频一起草| 激情第四色| 精品99网站| Www.久久| 97色欧美| 狠狠色婷婷7| WwW色婷婷| 天天爽,夜夜爽| 另类伊人婷婷| 五月综合视频| 武汉美女啪啪视频免费一级片| 人妻中文av| 五月天久久婷婷| 国产色色网址网站| 四虎99热在线观看网站| 伊人玖玖网| 天天插天天狠| 久久人人添人人爽添人人片αV| 色播五月| 天天色天天搡| 婷婷大香焦| 丝袜激情网| 台湾综合丁香五月蜜桃| 影音先锋男人av资源站| 天天肏在线观看| 婷婷六月丁香激情综合| 91av色色乱视频| 东京热伊人| 热99久久这里只有精品| 婷婷丁香综合| 九九色色| 激情婷婷五月社区| 操操操操操操婷婷五月天| 五月开心播播网| 综合伊人久久| 深爱开心激情网| 大伊香蕉玖玖爱| 婷婷五月天AV| 97色色视频| 婷婷丁香第一页| 婷婷大乡焦噜噜| 成人做爰高潮A片免费视频| 人人播| 另类小说五月天综合| 六月大香蕉| 成人亚洲精品久久久久| 五月丁香 啪啪| 互月天综合| 开心婷婷中文字慕| 亚洲婷婷综合视频| 中文字幕日产A片在线看| 99热免费| 亚洲 无码 中文字幕 中出| 97久久草草超级碰碰碰| 老司机视频lsj爱就色| 婷色五月| www.婷婷五月| 99色热视频| www.日本久久videos| 丁香六月青青草| A片试看120分钟做受图片| 在线99热| 日本成人噜噜噜| 色婷婷影音| 欧美噜噜久久久XXX| 91精品人妻少妇无码影院| 色色色色色色综合网| 涩涩涩五月天| 久久99久久99精品免观看粉嫩| 69色色视频| 六月丁香综合999| www.天天色综合| 日韩高清成人| 涩 五月 婷婷 狠狠| 色色综合网www| 双性美人被调教到喷水A片| 色色五月天激情| 色婷婷偷拍| 五月丁花六月丁香综合| www,婷婷五月天,com| 久久99热免费| 婷婷亚洲五| 婷婷色中文字幕| 玖玖爱资源站| 婷婷午夜综合| 丁香 亚洲 久久| 人人超碰99| 丁香深五月婷婷| www.wuyuetian啪啪| 婷婷成人基地| 久草热久草在线视频| 色婷婷电影网| 久久xxxx| 激情视频网址| 香蕉婷婷| 久久综合五月天| 精品久热| 99无码视频| 九色PORNY9l原创自拍| 天天色天天日| 婷婷色导航| 九月婷婷| 国产欧美日韩综合精品一区二区| 九九在线视频| CHINESE熟女老女人HD视频| 思思热在线观看| 亚洲精品白浆高清久久久久久| www.色婷婷| 日韩一本操| 丁香五月天AV在线| 中文超碰视在线| 综合久久六月| 丁香五月AV| 婷婷综合精品| 青草网在线观看| 婷婷九月激情| 久久网思思| 五月婷在线视频免费看| 成人免费va| 96精品久久久久久久久| 久热大香蕉| 色婷婷基地| 色狠狠色综合久久久绯色aⅴ影视| 狠狠久久婷五月综合色| 亚洲中文AV网站| 成人网在线视频| 欧亚洲在线高清视频| 天天噜天天爱| 久久深爱激情网| 五月婷婷五月丁香| 狠狠久久婷五月| 大香蕉五月天| 五月停性愛| 日本99视频精品免费播放| 超碰在线人人| 天天色综合色| 噜噜噜久久亚洲精品国产品91| 五月婷婷六月色| 久99久在线| 欧美槡BBBB槡BBB少妇| 五月婷婷电影院| 九九www| 九九热只有这里精品| 五月婷婷伊人久久| 色99视频| 99热超碰在线| 啪啪九九色| 爆乳熟妇一区二区三区爆乳照片| 色色色99韩| 九九热只有精品| 婷婷综合五月| 91se精品国产| 97热精品| 在线综合婷婷| 伊人玖玖婷婷| 亚洲精品国产熟女久久久| www.五月婷| 色VA| 五月天桃色深爱网| 成人精品在线| 99热99| 思思视频精品| 色播播五月天| 精品一二三区久久AAA片| 五月天基地| 婷婷五月天六月综合| 天天干天天干天天干| 少妇性BBB搡BBB爽爽爽视頻| 操碰久| 婷婷色五月色妇| 91九色国产| 丁香99| 日日操夜夜爽白洁| 5五月综合网亚洲| 曰韩少妇内射免费播放| 黑人熟妇一区二区三区| 六月婷伊人| 色婷精品91| 国内精品免费一区二区2009| 日木狠狠干| 五月丁香六月婷婷啪啪| 狠狠精品干练久久久无码中文字幕| 激情爱爱网站| www.亭亭五月天| A久久| 玖玖爱伊人| 久久美女五月天| 五月天激情色色| 99久久免费性爱视频`| 狠狠操狠狠插| 97干在线视频精品店| 欧美色狠婷久| 外国碰视频网站97| 五月色丁香婷婷综合| 日日鲁鲁夜夜爽爽| 五月丁香狠狠爱| 日本人人草草| 骚。com| 97人妻超级碰碰碰碰碰| 五月天五月色婷婷综合| 人妻激情综合| 九色在线观看91av| 这里只有精品69| 538在线精品| 九九热视频精品2| 日本三级日本三级99| 热久69| 99亚州综合精品成人网| 亚州男人天堂婷婷五月| 婷婷色网| 99操免费视频| 丁香五月另类小说| 亚洲深喉aV| 狠狠狠狠免费| 97香蕉碰碰人妻国产欧美| 婷婷免费无马| 91人碰| 亚洲综合在线网站| 亚洲综合热| 草榴成人影片| 日韩精品无码99| 五月婷婷六月激情| 美女激情婷婷| 狠狠爱深色婷婷综合| 亚洲综合色丁香婷婷六月| 裸体做A爰片毛片A片免费| 99热久只有| 色播五月婷婷| 亚洲久久视频| 99热这里都是精品| 电影《战争与艾拉》免费观看| 色情综合| 一个色的综合| 97在线观视频免费观看| 久热这里只有精品99re,久热这里只有精品7| 国产亚洲在线| 五月综合激情图片| 色级停停| 视频色色色色色色| 日韩无码乱轮|