第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MongoDB:如何將來自多個集合的數(shù)據(jù)合并成一個.?

MongoDB:如何將來自多個集合的數(shù)據(jù)合并成一個.?

慕工程0101907 2019-06-28 16:01:31
MongoDB:如何將來自多個集合的數(shù)據(jù)合并成一個.?我如何(在MongoDB中)將來自多個集合的數(shù)據(jù)組合到一個集合中?我可以使用地圖減少,如果是,那么如何?我會非常感謝一些例子,因為我是一個新手。
查看完整描述

3 回答

?
叮當貓咪

TA貢獻1776條經(jīng)驗 獲得超12個贊

MongoDB3.2現(xiàn)在允許將來自多個集合的數(shù)據(jù)通過$查找聚合階段..作為一個實際例子,讓我們假設您有關于書籍的數(shù)據(jù)分成兩個不同的集合。

第一個集合,稱為books具有以下數(shù)據(jù):

{
    "isbn": "978-3-16-148410-0",
    "title": "Some cool book",
    "author": "John Doe"}{
    "isbn": "978-3-16-148999-9",
    "title": "Another awesome book",
    "author": "Jane Roe"}

和第二個收藏品,叫做books_selling_data具有以下數(shù)據(jù):

{
    "_id": ObjectId("56e31bcf76cdf52e541d9d26"),
    "isbn": "978-3-16-148410-0",
    "copies_sold": 12500}{
    "_id": ObjectId("56e31ce076cdf52e541d9d28"),
    "isbn": "978-3-16-148999-9",
    "copies_sold": 720050}{
    "_id": ObjectId("56e31ce076cdf52e541d9d29"),
    "isbn": "978-3-16-148999-9",
    "copies_sold": 1000}

要合并這兩個集合,只需通過以下方式使用$lookup:

db.books.aggregate([{
    $lookup: {
            from: "books_selling_data",
            localField: "isbn",
            foreignField: "isbn",
            as: "copies_sold"
        }}])

在此聚合之后,books集合如下所示:

{
    "isbn": "978-3-16-148410-0",
    "title": "Some cool book",
    "author": "John Doe",
    "copies_sold": [
        {
            "_id": ObjectId("56e31bcf76cdf52e541d9d26"),
            "isbn": "978-3-16-148410-0",
            "copies_sold": 12500
        }
    ]}{
    "isbn": "978-3-16-148999-9",
    "title": "Another awesome book",
    "author": "Jane Roe",
    "copies_sold": [
        {
            "_id": ObjectId("56e31ce076cdf52e541d9d28"),
            "isbn": "978-3-16-148999-9",
            "copies_sold": 720050
        },
        {
            "_id": ObjectId("56e31ce076cdf52e541d9d28"),
            "isbn": "978-3-16-148999-9",
            "copies_sold": 1000
        }
    ]}

重要的是要注意以下幾點:

  1. “From”集合,在本例中

    books_selling_data

    無法切分。
  2. “AS”字段將是一個數(shù)組,如上面的示例所示。
  3. 中的“l(fā)ocalfield”和“foreign field”選項

    $查找階段

    如果它們在各自的集合中不存在(

    $查閱文檔

    有一個很好的例子)。

因此,作為一個結論,如果您想合并這兩個集合,在本例中有一個平面復制_Sell字段與總副本一起出售,那么您將不得不工作得更多一些,可能使用的是中間集合,然后是$out最后的收藏品


查看完整回答
反對 回復 2019-06-28
  • 3 回答
  • 0 關注
  • 4126 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號