html52.com
我爱小程序-开发者交流社区

一个lookup数组的问题?希望得以指点。

很简单的一个Lookup查询,mybook表为图书shop表,book表为图书详情表,mybook表的book.bookid与book表_id做lookup,但结果未达预期。

mybook表【结构图】:

mybook表【结构图】:book表为图书详情表【未上传图】

book表为图书详情表【未上传图】

代码:

db.collection('mybook').aggregate()

      .match({

        shopid:'2fd465895fa62a2b005bd6df59d4ac0c'

      })

      .lookup({

        from: 'book',

        localField: 'book.bookid',

        foreignField: '_id',

        as: 'value',

      })

         .end()



查询结果为

[
  {
    "_id": "2fd465895fac0df9008aa9a57e0f1df4",
    "shopid": "2fd465895fa62a2b005bd6df59d4ac0c",
    "book": [
      {
        "bookid": "0fa17ad55f37a67c000ec243277924e3",
        "money": "9.9"
      },
      {
        "bookid": "0fa17ad55f37a67c000ec242788e523a",
        "money": "6.6"
      }
    ],
    "value": [
      {
        "_id": "0fa17ad55f37a67c000ec242788e523a",
        "bookname": "一本好书",
        "type": "其他",
        "theme": "其他",
      },
      {
        "_id": "0fa17ad55f37a67c000ec243277924e3",
 
        "bookname": "三毛流浪记",
         "type": "其他",
         "theme": "其他",
        
               
              }
            ]
          }
        ]
        
   也就是说book和value的查询结果是分开的。希望能达到以下这种预期查询效果,应如何做?。

[
  {
    "_id": "2fd465895fac0df9008aa9a57e0f1df4",
    "shopid": "2fd465895fa62a2b005bd6df59d4ac0c",
    "value": [
      {
        "_id": "0fa17ad55f37a67c000ec242788e523a",
        "money": "9.9"  <---- 想把Money合并进来
        "bookname": "一本好书",
        "type": "其他",
        "theme": "其他",
              },
    {
          "_id": "0fa17ad55f37a67c000ec243277924e3",
          "bookname": "三毛流浪记",
          "money": "6.6"  <---- 想把Money合并进来

          "type": "其他",
         "theme": "其他",
                                       
          }
                   ]
                            }
                               ]
                        
                        
                        


评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付