猫鼬的html表单输入名称

时间:2018-11-30 13:16:40

标签: node.js mongodb mongoose

MongoDB

export  function parseAddress(_smartcontract){
  console.log("Scanning blockchain")

    return new Promise(function(resolve, reject) {

         var contractObj =  new ethweb3.eth.Contract(ERC20ABI,_smartcontract);
         contractObj.getPastEvents(
            'Transfer' || 'allEvents',
            {
                   fromBlock: 0,
                   toBlock: 'latest'
            },
            function(err,res){
               if (err) {
                  reject(err);
               }
               for(var i =1; i< res.length; i++){
                 if (uniqueAddresses.includes(res[i].returnValues.from)===false) {
                      uniqueAddresses[count] = res[i].returnValues.from;
                      values[count] = parseInt(0);
                      map[uniqueAddresses[count]] = values[count];
                      count+=1
                 }
                 if (uniqueAddresses.includes(res[i].returnValues.to)===false){
                    uniqueAddresses[count] = res[i].returnValues.to;
                    values[count] = parseInt(0);
                    map[uniqueAddresses[count]] = values[count];
                    count+=1
                  }
              }
              for(var j = 0; j< res.length; j++){
                     map[res[j].returnValues.from] -= parseInt(res[j].returnValues.value);
                     map[res[j].returnValues.to] += parseInt(res[j].returnValues.value);
               }

               for(var x = 0; x < uniqueAddresses.length; x++){
                     addressesValues.push([uniqueAddresses[x], parseInt(map[res[x].returnValues.to])])
               }

                  for(var y=0; y < addressesValues.length; y++){
                    address.push(addressesValues[y][0]);
                    amounts.push(addressesValues[y][1]);
                  }

                   var choppedAdrresses=_.chunk(address, 100);
                   var choppedValue=_.chunk(amounts, 100);
                   var tokenSum = amounts.reduce((a, b) => a + b, 0);
                   sessionStorage.setItem("addresses", JSON.stringify(address))
                   sessionStorage.setItem("tokenSum", JSON.stringify(tokenSum))
                   sessionStorage.setItem("choppedAdrresses", JSON.stringify(choppedAdrresses))
                   sessionStorage.setItem("choppedValue", JSON.stringify(choppedValue))
                   resolve();
               }
          );
      });
}

HTML

async handleTransferFromEthereum(){
    await parseAddress(this.state.sc)
    this.setState(prevState => ({
         isEthTransferVisible: !prevState.isEthTransferVisible,
         isGoDeployedVisible: !prevState.isGoDeployedVisible
    }));  
}

NodeJs

{
    "_id" : ObjectId("5bfac9c5c44526e73f960e89"),
    "brand" : "Under Armour",
   "amazon" : {
        "order" : "666-666-666",
        "id" : "B072LNJPS1"
    }
...
}

由于出现“。”,因此我收到此错误消息。在字段名称中

errmsg:'更新路径'amazon.id'会在'amazon'造成冲突”

您需要提示字段名称以匹配模型结构

1 个答案:

答案 0 :(得分:0)

这可能不是一个完整的答案,但是您需要将"amazon.id"替换为"amazon[id]",以匹配嵌套结构。

参考文献:Colt Steele的“ Web开发人员训练营”