備忘錄_20160105(定位) 修改 回首頁

程式 2018-11-23 14:17:34 1542953854 100
mongodb 4.0.3 mapreduce 初探

mongodb 4.0.3 mapreduce 初探
db.orders.insert(
  { "單號" : "FA2018111400001", 
    "單身" : [ 
               { "順序" : 1, "品名" : "口罩", "金額" : 250 }, 
               { "順序" : 2, "品名" : "運費", "金額" : 60 } 
             ] 
  }
)

db.orders.insert(
  { "單號" : "FA2018111400002", 
    "單身" : [ 
               { "順序" : 1, "品名" : "口罩", "金額" : 6000 } 
             ]
  }
)

db.orders.mapReduce(
  function()
  {
    for(var i=0; i<this.單身.length; i++)
    {
      emit(

        { 單號:this.單號,
          順序:this.單身[i].順序,
          品名:this.單身[i].品名,
          金額:this.單身[i].金額 }, 

        {}

      );
    }
  },
  function(key, values)
  {
    return null;
  },
  {
    out : "test01"
  }
)

db.test01.find()

db.orders.mapReduce(
  function()
  {
    for(var i=0; i<this.單身.length; i++)
    {
      emit(

        { 單號:this.單號,
          順序:this.單身[i].順序}, 

        { 品名:this.單身[i].品名,
          金額:this.單身[i].金額}

      );
    }
  },
  function(key, values)
  {
    return {
      品名:values[0].品名,
      金額:values[0].金額};
  },
  {
    out : "test02"
  }
)

db.test02.find()