日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MongoDB多表查询各属性详解

發布時間:2024/3/26 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB多表查询各属性详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MongoDB數據庫是不需要建表操作的

1、插入數據:

  • ????????db.集合名.insert({JSON類型})即可創建并且插入數據

2、多表查詢:

  • ????????db.集合名.aggregate([對應的方法])即可實現多表查詢

3、可能用到的函數:

  • ????????$set:{}設置值。
    • ????????$toString:將后面類型轉化為字符串類型
      • ????????$lookUp:查詢語句
        • ????????$match:where語句
          • ????????$skip:分頁,第幾頁
            • ????????$limit:每頁顯示多少文字

接下來主要詳解as屬性值

-- 先建立表1 db.cus.insert([ {"_id": 1,"item": "almonds","price": 12,"quantity": 2}, {"_id": 2, "item": "pecans", "price": 20, "quantity": 1} ]) -- 再建立表二 db.inv.insert([{ "_id" : 1, "sku" : "almonds", description: "product 1", "instock" : 120 },{ "_id" : 2, "sku" : "bread", description: "product 2", "instock" : 80 },{ "_id" : 3, "sku" : "cashews", description: "product 3", "instock" : 60 },{ "_id" : 4, "sku" : "pecans", description: "product 4", "instock" : 70 },{ "_id" : 5, "sku" : "almonds", description: "product 5", "instock" : 300 } ]) --開始執行多表查詢 db.cus.aggregate([ --表示cus為主表{$lookup: --將兩張表鏈接起來,相當于join語句{from: "inv", --與哪個表鏈接localField: "item",--cus主表的item字段與另一個表sku去匹配匹配foreignField: "sku",-- inv副表的sku字段與主表item字段匹配才顯示as: "inventory_docs" -- 查詢出來的滿足條件的結果名稱}} ])

返回結果:首先會將主表的所有數據都返回,然后滿足條件的存放于as起的別名中,最終返回一個集合類型,Java后臺可用List<HashMap>接收,如果沒有滿足條件的就會返回null

最終的返回結果為:



展開inventory_docs對應的集合:


1、_id=1的返回結果為:


2、_id=2的返回結果為:

?

?

總結

以上是生活随笔為你收集整理的MongoDB多表查询各属性详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。