国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

專做蔬菜大棚的網(wǎng)站推廣策劃方案

專做蔬菜大棚的網(wǎng)站,推廣策劃方案,如何制作網(wǎng)頁(yè)圖,黃頁(yè)88怎么設(shè)置關(guān)鍵詞目錄 MongoDB 的 集合關(guān)聯(lián)演示前提:登錄單機(jī)模式的 mongodb 服務(wù)器命令登錄【test】數(shù)據(jù)庫(kù)的 mongodb 客戶端命令登錄【admin】數(shù)據(jù)庫(kù)的 mongodb 客戶端命令 SQL 術(shù)語(yǔ) 與 Mongodb 的對(duì)應(yīng)關(guān)系使用 $lookup 實(shí)現(xiàn)集合關(guān)聯(lián)語(yǔ)法格式添加測(cè)試數(shù)據(jù)1、查詢出訂單數(shù)量大于6&a…

目錄

  • MongoDB 的 集合關(guān)聯(lián)
    • 演示前提:
      • 登錄單機(jī)模式的 mongodb 服務(wù)器命令
      • 登錄【test】數(shù)據(jù)庫(kù)的 mongodb 客戶端命令
      • 登錄【admin】數(shù)據(jù)庫(kù)的 mongodb 客戶端命令
    • SQL 術(shù)語(yǔ) 與 Mongodb 的對(duì)應(yīng)關(guān)系
    • 使用 $lookup 實(shí)現(xiàn)集合關(guān)聯(lián)
      • 語(yǔ)法格式
      • 添加測(cè)試數(shù)據(jù)
      • 1、查詢出訂單數(shù)量大于6,及其對(duì)應(yīng)的商品:
        • 1-1:查詢出訂單中,【amount】數(shù)量大于6的訂單
        • 1-2:查詢出訂單中,【amount】數(shù)量大于 6 的訂單,及其對(duì)應(yīng)的商品
          • 查詢命令
          • 命令解釋
          • 查詢結(jié)果
      • 2、查詢出價(jià)格為 30 的商品所關(guān)聯(lián)的全部訂單
        • 2-1:查詢【item】集合中價(jià)格為 30 的商品:
        • 2-2:查詢出價(jià)格為 30 的商品所關(guān)聯(lián)的全部訂單
          • 查詢命令
          • 命令解釋
          • 查詢結(jié)果
    • 使用 DBRef 實(shí)現(xiàn)集合關(guān)聯(lián)
      • 語(yǔ)法格式
      • 添加測(cè)試數(shù)據(jù)
      • 1、查詢標(biāo)題為 “標(biāo)題2" 的 comment 及對(duì)應(yīng)的商品
        • 1-1:查詢標(biāo)題為 “標(biāo)題2" 的 comment
          • 查詢命令
          • 查詢結(jié)果
        • 1-2:查詢標(biāo)題為 “標(biāo)題2" 的 comment 文檔 及 對(duì)應(yīng)的商品
          • 查詢返回的文檔只有一條數(shù)據(jù):
            • 查詢命令:
            • 查詢結(jié)果
          • 查詢返回的文檔有多條數(shù)據(jù):
            • 查詢命令
            • 查詢結(jié)果

MongoDB 的 集合關(guān)聯(lián)

演示前提:


登錄單機(jī)模式的 mongodb 服務(wù)器命令

mongod.exe --config "E:\install\mongodb\mongodb-4.2.25\mongod.conf"

在這里插入圖片描述


登錄【test】數(shù)據(jù)庫(kù)的 mongodb 客戶端命令

mongo mongodb://192.168.0.107:27017/test -u LJHAAA -p 123456

在這里插入圖片描述


登錄【admin】數(shù)據(jù)庫(kù)的 mongodb 客戶端命令

mongo mongodb://192.168.0.107:27017/admin -u admin -p 123456

在這里插入圖片描述


SQL 術(shù)語(yǔ) 與 Mongodb 的對(duì)應(yīng)關(guān)系


在這里插入圖片描述


使用 $lookup 實(shí)現(xiàn)集合關(guān)聯(lián)


語(yǔ)法格式

在聚集運(yùn)算使用如下文檔:

   {$lookup:{from: 指定要連接的集合localField: 指定本集合中文檔的主鍵字段foreignField: 指定要連接的集合中的外鍵字段as: 指定被連接對(duì)象的屬性名}}

localField 和 foreignField 指定兩個(gè)集合之間的關(guān)聯(lián)條件


添加測(cè)試數(shù)據(jù)

原本的 item 集合有這些數(shù)據(jù)

在這里插入圖片描述

價(jià)格為 30 的【鍵盤(pán)】,和 訂單 1、2、3相關(guān)聯(lián);
價(jià)格為 60 的【鼠標(biāo)】,和 訂單 4、5 相關(guān)聯(lián);

db.order.insert([{item_id:  ObjectId("65e6cb5e055c945aa89b8575"), name: "訂單1", amount: 3},{item_id:  ObjectId("65e6cb5e055c945aa89b8575"), name: "訂單2", amount: 5},{item_id:  ObjectId("65e6cb5e055c945aa89b8575"), name: "訂單3", amount: 8},{item_id:  ObjectId("65e6cb5e055c945aa89b8578"), name: "訂單4", amount: 4},{item_id:  ObjectId("65e6cb5e055c945aa89b8578"), name: "訂單5", amount: 7}
])

如圖:生成一個(gè)【order】的訂單集合,相當(dāng)于sql的訂單表。

在這里插入圖片描述


1、查詢出訂單數(shù)量大于6,及其對(duì)應(yīng)的商品:


1-1:查詢出訂單中,【amount】數(shù)量大于6的訂單

在這里插入圖片描述


1-2:查詢出訂單中,【amount】數(shù)量大于 6 的訂單,及其對(duì)應(yīng)的商品

查詢命令
 db.order.aggregate([{$match: {amount: {$gt: 6}}},{ $lookup: {from: "item",localField: "item_id",foreignField: "_id",as: "item_detail"}}
])

命令解釋
 db.order.aggregate([                  //aggregate 表示對(duì) MongoDB 中的 order 集合執(zhí)行聚集運(yùn)算{$match: {amount: {$gt: 6}}},      //這是聚合管道中的第一個(gè)階段,相當(dāng)于where 條件:查詢 amount > 6 的訂單     { $lookup:                        // 這是聚合管道中的第二個(gè)階段,使用 $lookup 操作符來(lái)執(zhí)行關(guān)聯(lián)查詢{from: "item",               //指定要連接的集合,這里是連接【item】這個(gè)集合(表)localField: "item_id",      // 指定當(dāng)前集合(order)中用于關(guān)聯(lián)的字段為 item_idforeignField: "_id",        //指定要關(guān)聯(lián)的集合(item)中用于關(guān)聯(lián)的字段為 _idas: "item_detail"           //指定將關(guān)聯(lián)查詢的結(jié)果存儲(chǔ)到名為 item_detail 的字段中}}
])

相當(dāng)于 SQL 中的 join 查詢:

select * from order o  
join  item i  on o.item_id = i . _id 
where o.amout > 6;

在這里插入圖片描述


查詢結(jié)果

在這里插入圖片描述


2、查詢出價(jià)格為 30 的商品所關(guān)聯(lián)的全部訂單


2-1:查詢【item】集合中價(jià)格為 30 的商品:
db.item.aggregate([{$match:{price:30}}
])

在這里插入圖片描述


2-2:查詢出價(jià)格為 30 的商品所關(guān)聯(lián)的全部訂單
查詢命令
db.item.aggregate([{$match: {price: 30}},{$lookup: {from: "order",localField: "_id",foreignField: "item_id",as: "order_array"}}
])

命令解釋
db.item.aggregate([{$match: {price: 30}},             //這是聚合管道中的第一個(gè)階段,用于篩選出【item】集合中 price 等于 30 的 數(shù)據(jù){$lookup: {    			        //這是聚合管道中的第二個(gè)階段,使用 $lookup 操作符來(lái)執(zhí)行關(guān)聯(lián)查詢from: "order",            //指定要關(guān)聯(lián)查詢的集合為 orderlocalField: "_id",        //指定當(dāng)前集合(item)中用于關(guān)聯(lián)的字段為 _idforeignField: "item_id",  //指定要關(guān)聯(lián)的集合(order)中用于關(guān)聯(lián)的字段為 item_idas: "order_array"         //指定將關(guān)聯(lián)查詢的結(jié)果存儲(chǔ)到名為 order_array 的字段中}}
])

查詢結(jié)果

在這里插入圖片描述


使用 DBRef 實(shí)現(xiàn)集合關(guān)聯(lián)


語(yǔ)法格式

DBRef 盡可能地模擬了SQL數(shù)據(jù)庫(kù)中外鍵——指定要引用哪個(gè)表的哪個(gè)列。

插入文檔時(shí)使用 DBRef 引用其他文檔,DBRef 的完整形式:

{ $ref : 被引用的集合名 , $id : 被引用的文檔主鍵< value > , $db : 被引用的數(shù)據(jù)庫(kù) }

如果被引用的集合在同一個(gè)數(shù)據(jù)庫(kù)中,$db 可以省略。

通過(guò) DBRef 的 fetch() 方法即可抓取關(guān)聯(lián)文檔。


添加測(cè)試數(shù)據(jù)

db.comment.insert([{item:  {$ref: "item", $id: ObjectId("65e6cb5e055c945aa89b8575")}, title: "標(biāo)題1", body: "評(píng)論內(nèi)容1"},{item:  {$ref: "item", $id: ObjectId("65e6cb5e055c945aa89b8575")}, title: "標(biāo)題2", body: "評(píng)論內(nèi)容2"},{item:  {$ref: "item", $id: ObjectId("65e6cb5e055c945aa89b8575")}, title: "標(biāo)題3", body: "評(píng)論內(nèi)容3"},{item:  {$ref: "item", $id: ObjectId("65e6cb5e055c945aa89b8575")}, title: "標(biāo)題4", body: "評(píng)論內(nèi)容4"},{item:  {$ref: "item", $id: ObjectId("65e6cb5e055c945aa89b8575")}, title: "標(biāo)題5", body: "評(píng)論內(nèi)容5"}
])

item: 這是一個(gè)嵌套的字段,包含了一個(gè)引用到 item 集合中某個(gè)文檔的信息。

$ref: “item”: 指定了引用的集合為 item。

$id: ObjectId(“65e6cb5e055c945aa89b8575”): 指定了引用的文檔的 ObjectId。

如圖:引用了 item 集合中的 id 為 【65e6cb5e055c945aa89b8575】 的文檔

在這里插入圖片描述


測(cè)試數(shù)據(jù):

在這里插入圖片描述


1、查詢標(biāo)題為 “標(biāo)題2" 的 comment 及對(duì)應(yīng)的商品


1-1:查詢標(biāo)題為 “標(biāo)題2" 的 comment

查詢命令
db.comment.findOne({title: "標(biāo)題2"})

查詢結(jié)果

在這里插入圖片描述


1-2:查詢標(biāo)題為 “標(biāo)題2" 的 comment 文檔 及 對(duì)應(yīng)的商品

【備注】如果你已經(jīng)用了 DBRef 來(lái)記錄關(guān)聯(lián),程序可以非常方便處理關(guān)聯(lián),壓根不需要使用 $lookup


查詢返回的文檔只有一條數(shù)據(jù):

查詢命令:
db.comment.findOne({title: "標(biāo)題2"}).item.fetch()

查詢結(jié)果

在 studio 3t 這個(gè)圖形界面工具查詢就出錯(cuò)。

在這里插入圖片描述


修改成這樣:

db.comment.findOne({title: "標(biāo)題2"}, {item: 1})

在這里插入圖片描述


在命令行窗口查詢就可以

在這里插入圖片描述


在這里插入圖片描述


查詢返回的文檔有多條數(shù)據(jù):

如果查詢的包含了多個(gè)文檔,且要通過(guò)DBRef獲取關(guān)聯(lián)文檔時(shí),
由于 find() 方法返回的是 DBCursor,因此需要先遍歷 DBCursor,然后在通過(guò)查詢文檔的關(guān)聯(lián)屬性來(lái)獲取關(guān)聯(lián)的文檔。

DBCursor 有一個(gè) forEach 方法,該方法需要傳入一個(gè) JS 的 function( c ) {c就代表了正則遍歷的文檔},
通過(guò)該函數(shù)可對(duì)DbCursor中多個(gè)文檔進(jìn)行遍歷。


查詢命令
db.comment.find({title: "標(biāo)題2"}).forEach(function(c){print(JSON.stringify(c) + JSON.stringify(c.item.fetch()));
})

查詢結(jié)果

在這里插入圖片描述

http://m.aloenet.com.cn/news/33852.html

相關(guān)文章:

  • 創(chuàng)建門(mén)戶網(wǎng)站網(wǎng)絡(luò)營(yíng)銷的特點(diǎn)有哪些
  • 網(wǎng)站上的qq咨詢?cè)趺醋鰏eo在線外鏈
  • 寧波網(wǎng)站推廣廠家郴州網(wǎng)絡(luò)推廣公司排名
  • 濟(jì)南網(wǎng)站建設(shè)代理銷售系統(tǒng)
  • 深圳商城網(wǎng)站哪家做的好外貿(mào)全網(wǎng)營(yíng)銷推廣
  • 網(wǎng)站備案核實(shí)企業(yè)軟文范例
  • 什么響應(yīng)式網(wǎng)站網(wǎng)站推廣工具有哪些
  • 濮陽(yáng)市網(wǎng)站建設(shè)商業(yè)公司的域名
  • 互助資金盤(pán)網(wǎng)站開(kāi)發(fā)杭州免費(fèi)網(wǎng)站制作
  • 麗水專業(yè)網(wǎng)站制作公司dw網(wǎng)頁(yè)制作教程
  • 做網(wǎng)站要在阿里云上買幾個(gè)貢獻(xiàn)互聯(lián)網(wǎng)輿情信息
  • 網(wǎng)站開(kāi)發(fā) 文件架構(gòu)圖優(yōu)化大師使用方法
  • 代碼做網(wǎng)站的軟件市場(chǎng)營(yíng)銷主要學(xué)什么
  • 杭州做網(wǎng)站好的公司跨境電商平臺(tái)有哪些?
  • 免費(fèi)做電子目錄的網(wǎng)站百度云網(wǎng)盤(pán)搜索引擎入口
  • 網(wǎng)站改版申請(qǐng)制作網(wǎng)頁(yè)教程
  • 青海網(wǎng)站建設(shè)價(jià)格低seo神器
  • 一個(gè)電商網(wǎng)站開(kāi)發(fā)需要多久嘉興seo優(yōu)化
  • 湖北網(wǎng)站建設(shè)服務(wù)公司免費(fèi)cms建站系統(tǒng)
  • 個(gè)人網(wǎng)站建設(shè)如何賺錢軟文營(yíng)銷ppt
  • 重慶網(wǎng)站營(yíng)銷美國(guó)疫情最新消息
  • 日本可以做的h游戲視頻網(wǎng)站龍巖網(wǎng)站推廣
  • 掃wordpress后臺(tái)seo優(yōu)化或網(wǎng)站編輯
  • 如何做教育網(wǎng)站點(diǎn)金推廣優(yōu)化公司
  • 株洲做網(wǎng)站優(yōu)化深圳谷歌推廣公司
  • 上下滾屏網(wǎng)站模板電商數(shù)據(jù)查詢平臺(tái)
  • 有關(guān)做甜點(diǎn)的網(wǎng)站公司網(wǎng)站制作費(fèi)用
  • ps做網(wǎng)站登陸界面建站公司
  • 電子商務(wù)的網(wǎng)站建設(shè)分析網(wǎng)絡(luò)營(yíng)銷的特點(diǎn)不包括
  • 免費(fèi)做網(wǎng)站模板在哪里做營(yíng)銷公司排名