91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

MongoDB聚合管道查詢怎樣進行連接

小樊
82
2024-10-30 15:00:24
欄目: 云計算

在MongoDB中,聚合管道查詢可以通過$lookup操作符來實現連接(join)操作。$lookup允許你將來自另一個集合的文檔與當前集合的文檔進行連接。以下是一個簡單的示例:

假設我們有兩個集合:orderscustomersorders集合包含訂單信息,customers集合包含客戶信息。我們想要查詢每個訂單及其對應的客戶信息。

orders集合:

{
  "_id": 1,
  "customer_id": 1,
  "product": "Laptop",
  "price": 1000
}

customers集合:

{
  "_id": 1,
  "name": "John Doe",
  "email": "john.doe@example.com"
}

我們可以使用以下聚合管道查詢來連接這兩個集合:

db.orders.aggregate([
  {
    $lookup: {
      from: "customers",
      localField: "customer_id",
      foreignField: "_id",
      as: "customer_info"
    }
  },
  {
    $unwind: "$customer_info"
  },
  {
    $project: {
      _id: 1,
      customer_id: 1,
      product: 1,
      price: 1,
      customer_name: "$customer_info.name",
      customer_email: "$customer_info.email"
    }
  }
])

這個查詢的工作原理如下:

  1. $lookup操作符從customers集合中查找與orders集合中的customer_id相匹配的文檔,并將結果存儲在名為customer_info的新數組字段中。
  2. $unwind操作符將customer_info數組拆分為多個文檔,每個文檔包含一個客戶信息。
  3. $project操作符重新構造輸出文檔,將客戶名稱和電子郵件字段分別重命名為customer_namecustomer_email

查詢結果:

{
  "_id": 1,
  "customer_id": 1,
  "product": "Laptop",
  "price": 1000,
  "customer_name": "John Doe",
  "customer_email": "john.doe@example.com"
}

0
清丰县| 伊春市| 柘城县| 阳城县| 靖西县| 皮山县| 华宁县| 江口县| 津市市| 中卫市| 上虞市| 勐海县| 宜黄县| 子洲县| 和龙市| 宣威市| 枣强县| 长岛县| 沾化县| 丹凤县| 咸阳市| 巧家县| 石泉县| 仪陇县| 中方县| 新宁县| 金乡县| 屯昌县| 龙山县| 瓦房店市| 牡丹江市| 宝山区| 甘泉县| 临沂市| 安国市| 罗城| 潮安县| 南开区| 镇康县| 乌拉特中旗| 卓尼县|