【问题标题】:can't read sha256 from nested array within mongodb无法从 mongodb 中的嵌套数组中读取 sha256
【发布时间】:2018-01-12 11:58:08
【问题描述】:

我有以下猫鼬集合的结构。

const sha256 = require('crypto-js/sha256');

    var Temp = new Schema();

    Temp.add({
        item1: String,
        item2: String,
        data: [
            {
                arrItem1: Number,
                arrItem2: String
            }
        ],
        recurData: [Temp],
        currentHash: {
            type: String,
            default: ''
        },
        previousHash: {
            type: String,
            default: ''
        }
    });

我正在计算currentHash值如下:

return sha256(this.item1 + JSON.stringify(this.data) + this.previousHash).toString();

所以,问题是当我尝试读取下面的 currentHash 值时,我得到的输出为“未定义”。

var Temp = new Temp({//Initialised the data});
var latestDocument = Temp.recurData[Temp.RecurData.length - 1];
console.log(latestDocument.currentHash);

有人可以告知这是一个现有问题还是我做错了什么?

【问题讨论】:

    标签: node.js mongodb mongoose sha256


    【解决方案1】:

    发现架构内属性排序不正确的解决方法。它应该作为最后一个属性放置。

    const sha256 = require('crypto-js/sha256');
    
        var Temp = new Schema();
    
        Temp.add({
            item1: String,
            item2: String,
            data: [
                {
                    arrItem1: Number,
                    arrItem2: String
                }
            ],        
            currentHash: {
                type: String,
                default: ''
            },
            previousHash: {
                type: String,
                default: ''
            },
            recurData: [Temp]
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-06
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 2016-06-09
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多