如何在 mongodb 中存储来自 npm 包的 node.js 对象
How to store node.js object from npm package in mongodb
我是 nodejs 的初学者。我在我的流星应用程序中使用 merkle-tools
。我正在创建 class MerkleTools
.
的对象
var merkleObj = new MerkleTools();
是否可以将此对象 merkleObj
存储在 MongoDB 中?所以在需要的时候,我可以从数据库中检索存储的对象并调用它的函数,比如 addLeaf()
等
在将树存储到数据库之前必须对其进行序列化。您正在使用的图书馆没有这样的选项,但您可以轻松地自己做。
以下代码假定您正在使用此模块 https://www.npmjs.com/package/merkle-tools
序列化函数:
const serializeTree = (tree) => {
const len = tree.getLeafCount();
const serialized = [];
for (let i = 0; i < len; i++) {
// If you want to save binary data remove .toString('hex');
serialized.push(tree.getLeaf(i).toString('hex'));
}
return serialized;
}
您将获得一个可以轻松存储在数据库中的数组。
从数据库中恢复树时,您可以执行以下操作:
const makeTree = (serialized) => {
const len = serialized.length;
const tree = new MerkleTools();
for (let i = 0; i < len; i++) {
tree.addLeaf(serialized[i]);
}
tree.makeTree();
return tree;
}
makeTree 函数的返回值是一个 merkleTools 树,因此您可以使用 .addLeaf()
之类的方法。
我是 nodejs 的初学者。我在我的流星应用程序中使用 merkle-tools
。我正在创建 class MerkleTools
.
var merkleObj = new MerkleTools();
是否可以将此对象 merkleObj
存储在 MongoDB 中?所以在需要的时候,我可以从数据库中检索存储的对象并调用它的函数,比如 addLeaf()
等
在将树存储到数据库之前必须对其进行序列化。您正在使用的图书馆没有这样的选项,但您可以轻松地自己做。
以下代码假定您正在使用此模块 https://www.npmjs.com/package/merkle-tools
序列化函数:
const serializeTree = (tree) => {
const len = tree.getLeafCount();
const serialized = [];
for (let i = 0; i < len; i++) {
// If you want to save binary data remove .toString('hex');
serialized.push(tree.getLeaf(i).toString('hex'));
}
return serialized;
}
您将获得一个可以轻松存储在数据库中的数组。
从数据库中恢复树时,您可以执行以下操作:
const makeTree = (serialized) => {
const len = serialized.length;
const tree = new MerkleTools();
for (let i = 0; i < len; i++) {
tree.addLeaf(serialized[i]);
}
tree.makeTree();
return tree;
}
makeTree 函数的返回值是一个 merkleTools 树,因此您可以使用 .addLeaf()
之类的方法。